flask知识框架

Flask程序的基本结构

- 模块的安装   pip
- 虚拟环境     (Anaconda, virtualenv )
- 实现简单的web服务网站?
- 路由
    - 普通路由设置 @app.route('/login/') 访问路径
    - 动态路由   @app.route('/users/<id>/') 可以指定类型:int,string,float,uuid
    - 设置可以接收的HTTP请求的类型  @app.route('/login/', methods=['GET', 'POST'])
- 视图函数 告诉app当用户访问/login/路径时,执行login函数的内容,最终将return的内容返回给客户端;
- 安全上下文: request
    - request.user_agent 获取客户端用户代理
    - request.remote_addr	获取ip地址
    - request.args.get('id')	获取用户请求url地址里面key值对应的value值
    - request.args.get('name')
    - request.args.get('name')
- 获取用户表单提交的内容
    - GET请求: request.args.get('key')
    - POST请求: request.form.get('key')

- 返回页面常用的方法
    - redirect
    - render_template

- 自定义错误页面: 装饰器@app.errorhandler(错误的状态码) 404/500/200/300/403

Flask的模板

- Jinja变量{{ 变量名  | 过滤器 }}
- 过滤器
    - 内置过滤器:
    - 自定义过滤器
- 语法结构
    - for循环
    - if语句
    - 宏macro的操作
        - 如何定义宏?
        - 如何调用宏?
    - include包含操作
    - 模板的继承
        {% extends 'base.html' %}

Flask-Bootstrap

- 基模板
- 快速制作表单的宏('bootstrap/wtf.html as wtf'  ---> wtf.quick_form(form))

Flask-wtf

-  Form类(FlaskForm)
-  各种Field类(StringField, PasswordField, SubmitField)
-  Validator类(DataRequired(), Equalto(), )

Flask-sqlalchemy

import pymysql
pymysql.install_as_MySQLdb()

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:redhat@localhost/UserTest'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# 实例化对象
db = SQLAlchemy(app)

猜你喜欢

转载自blog.csdn.net/weixin_43067754/article/details/88553751