zoukankan      html  css  js  c++  java
  • flask

    flask框架

    一个完整的程序:

    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello_world():
    return 'Hello World!'
    
    
    if __name__ == '__main__':
    app.run()
    

    Flask上下文全局变量

    变量名 上下文 说明
    current_app 程序上下文 当前激活程序的程序实例
    g 程序上下文 处理请求是用作临时存储对象,每次请求都会重设这个变量
    request 请求上下文 请求对象,封装了客户端发出的TTP请求 中的内容
    session 请求上下文 用户会话,用于存储请求之间需要“记住”的值得词典

    请求钩子

    Flask提供了注册通用函数的功能,注册的函数可在请求被分发到视图函数之前或之后调用。

    请求钩子用装饰器实现,Flask支持四种钩子

    before_first_request 注册一个函数,在处理第一个请求之前运行
    before_request 注册一个函数,在每次请求之前运行
    after_request 注册一个函数,如果没有未处理的异常抛出,在每次请求之后运行
    teardown_request 注册一个函数,即使有未处理的异常抛出,也在每次请求之后运行

    响应

    1.视图函数返回的响应的参数:

    2.Response对象

    3.重定向的特殊响应类型:redirect()

    4.abort()生成特殊响应

    模板

    jinja2模板引擎

    1.在template文件夹中建立相应的html文件

    2.渲染使用reder_template()

    from flask import Flask,render_template
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello_world():
    return render_template('index.html')
    
    @app.route('/user/<name>')
    def user(name):
    return render_template('user.html',name=name)
    
    
    
    if __name__ == '__main__':
    app.run()
    

    变量

    {{name}} 结构表示一个变量,他是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取

    过滤器修改变量

    hello,{{name|capitalize}}
    

    Jinja2过滤器

    过滤器名 说明
    safe 渲染时不转义
    capitalize 把值得首字母转换成大写,其他字母转换成小写
    lower 把值转换成小写形式
    upper 把值转换成大写形式
    title 把值中每个单词的首字母都转换成小写
    trim 把值得首尾空格去掉
    striptags 渲染之前把值中所有的HTML标签都删掉

    safe过滤器:默认情况下,处于安全考虑,Jinja2会转义所有变量,很多情况下需要变量中存储的HTML代码,就可以使用safe过滤器

    控制结构

    1.条件控制语句
    2.for循环
    3.宏
    4.多出重复的代码可以写入单独文件中,再包含在所有模板中(incliude)
    5.模板继承
    6.super()

    Flask_Bootstrap

    Flask_Bootstrap基模板中定义的块

    块名 说明
    doc 整个HTML文档
    html_attribs <html>标签的属性
    html <html>标签中的内容
    head <head>标签中的内容
    title <title>标签中的内容
    metas 一组<meta>标签
    styles 层叠样式表定义
    body_attribs <body>标签中的属性
    body <body>标签中的内容
    navbar 用户定义的导航条
    content 用户定义的页面内容
    scripts 文档底部的JavaScripts声明

    自定义错误页面

    链接

    url_for()函数的使用

    Flask_Moment本地化日期和时间

    Web表单

    Flask_WTF

    CSRF攻击

    定义表单类

    from flask_wtf import Form
    from wtforms import StringField
    from wtforms.validators import DataRequired
    
    class MyForm(Form):
    name = StringField('name', validators=[DataRequired()])
    

    把表单渲染成HTML

    在视图函数中处理表单

    重定向和用户会话

    flask消息

    使用Flask_SQLAlchemy管理数据库

    配置数据库

    定义模型

    秋来凉风起,无限思远人
  • 相关阅读:
    spring-webmvc 4.3.4 与 freemarker、easyui 整合
    CentOS 7 网络配置
    CentOS 7 安装 mariaDB
    CentOS 7 安装 tomcat7.0
    CentOS 7 安装JDK
    利用icepdf将pdf文件转为图片
    jwplayer 网页在线播放插件
    postgresql 行转列,拼接字符串
    activemq-5.13 在windows下部署应用
    几款Java常用基础工具库
  • 原文地址:https://www.cnblogs.com/lalavender/p/10463068.html
Copyright © 2011-2022 走看看