Flask_notes

栏目: Python · 发布时间: 5年前

内容简介:这是学习 flask 的第一篇笔记,重在快速概览,了解上手的一些基础知识。或者如何让其它机器也访问到呢?指定监听所有 IP 地址即可。

【整理】Flask 学习笔记之一

这是学习 flask 的第一篇笔记,重在快速概览,了解上手的一些基础知识。

1、如何启动 falsk

$ export FLASK_APP=yourfile.py
$ flask run

或者

$ export FLASK_APP=yourfile.py
$ python -m flask run

如何让其它机器也访问到呢?指定监听所有 IP 地址即可。

flask run --host=0.0.0.0

启动调试模式

$ export FLASK_ENV=development

2、路由参数类型转换

@app.route('/path/<path:subpath>') 的转换类型

类型 说明
string 接受任何不包含斜杠的文本(默认值)
int 接受正整数
float 接受正浮点数
path 类似 string ,但可以包含斜杠
uuid 接受 UUID 字符串

3、唯一的 URL/ 重定向行为

@app.route('/projects/')@app.route('/about') 只有一个斜杠的区别,前者如果在地址中未加斜杠,flask 也会帮你重定向到正确位置,但后者如果加了斜杠则会 404 错误!

4、URL构建

url_for() 函数用于构建指定函数的URL。为什么用它呢?

  • 翻转通常比硬编码URL的表述性更好
  • 便于集中处理,减少散落
  • URL创建会处理特殊字符的转移和 Unicode 数据
  • 生产的路径总是绝对路径,可以避免相对路径产生副作用
  • 即是应用不在URL根路径,那么它也会妥善处理

5、响应不同的HTTP方法

通过装饰器的 Methods 参数来指定响应的方法,例如:

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST'
        return your_post()
    else:
        return your_get()

6、渲染模板

这里 flask 跟 Django 一样,都采用了模板的方式,免去用户自己转义的麻烦。一个简单例子:

from flask import render_template

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

Flask 会在 templates 文件夹内寻找模板。因此,如果你的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面:

情形 1 : 一个模块:

/application.py
/templates
    /hello.html

情形 2 : 一个包:

/application
    /__init__.py
    /templates
        /hello.html

学习原文


以上所述就是小编给大家介绍的《Flask_notes》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms Illuminated (Part 2)

Algorithms Illuminated (Part 2)

Tim Roughgarden / Soundlikeyourself Publishing, LLC / 2018-8-5 / USD 17.99

Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can......一起来看看 《Algorithms Illuminated (Part 2)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具