码迷,mamicode.com
首页 > 其他好文 > 详细

Flask 开发| Flaskr 开发内容总结

时间:2018-02-20 17:29:12      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:请求   数据   模板继承   url   database   语句   注册   对象   extends   

Flaskr 开发说明

官方文档

http://flask.pocoo.org/docs/0.12/tutorial/

演示网站
http://flaskr.it592.com/
涉及到的内容:

  • 连接sqlite,增删查
  • 模板使用
  • 应用上下文、请求上下文
  • session
  • 单元测试
  • g,app.cli.command()

知识点详解

  • 连接sqlite

    rv = sqlite3.connect("sqlite所在的位置")
    rv.row_factory = sqlite3.Row  # 将查询数据和查询语句组合为字典的形式,而非tuple
  • 模板的使用

    render_template("index.html",name = "")
    # 模板使用很简单
    # 在模板中变量取值用 {{ name}}
    # 判断 
    {% if flag %} 
    {% else %} 
    {% endif %}
    # 循环
    {% for x in name%}
    {% endfor%}
    # 模板继承
    {% extends 目标名%}
    # url生成
    {{url_for("index")}}
    {{url_for("static",filename="")}} #静态资源
  • g对象的使用

    # g 对象是和当前应用上下文有关的变量,能够保证线程安全,我们可以用来存储当前请求的一些信息
    def get_db():
    if not hasattr(g, "sqlite_db"):
        g.sqlite_db = connect_db()
    return g.sqlite_db
    # 对于不同的请求,g对象的内容是不同的
  • app.cli.command()

    #app.cli.command() 会给flask脚本注册一个新的命令,并且自动创建应用上下文
    @app.cli.command('initdb') #注册initdb命令,
    def initdb_command():
    """Initializes the database."""
    init_db()
    print('Initialized the database.')
  • 单元测试
    根据flaskr.app.test_client()来发出get、post请求

Flask 开发| Flaskr 开发内容总结

标签:请求   数据   模板继承   url   database   语句   注册   对象   extends   

原文地址:https://www.cnblogs.com/xmxj0707/p/8455388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!