Flask的安装和入门:配置、路由、转换器、获取请求数据、重定向和报错等

本文介绍了Flask与Django的区别,并详细讲解了Flask的安装、应用启动、配置、路由设定、HTTP请求方法、返回JSON、获取请求数据、自定义转换器以及错误处理等内容,帮助读者快速掌握Flask开发基础。
摘要由CSDN通过智能技术生成


前文,查看flask中文文档: http://docs.jinkan.org/docs/flask/quickstart.html
环境:python3.5,Flask1.0.3

Flask和Django的区别

  • Django原理是客户端发送请求-nginx–uwsgi–中间件–url路由–view视图函数–orm–拿到数据返回到view–将数据传到模板—中间件–uwsgi—nginx–前端渲染

  • Flask当客户端想要获取资源时,通过浏览器发起HTTP请求,此时,web服务器使用一种名为web服务器网关接口的WSGI协议,把来自客户端的请求都交给Flask程序实例,Flask使用werkzeug来做路由分发,根据每个URL请求找到具体的视图函数,获取数据后,把数据传入HTML模板文件中,jinja2模板引擎负责渲染HTTP响应数据,然后由Flask返回响应数据给浏览器

安装Flask

我们使用虚拟环境运行flask,如果没有虚拟环境就安装虚拟环境:

  • sudo pip install virtualenv
  • 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.
  • 有的话直接创建一个虚拟环境:
  • mkvirtualenv flask_py3 -p python3

然后pip install Flask直接安装Flask
pip list查看安装了哪些东西:

Package       Version
------------- -------
Click         7.0    
Flask         1.0.3  
itsdangerous  1.1.0  
Jinja2        2.10.1 
MarkupSafe    1.1.1  
pip           19.1.1 
pkg-resources 0.0.0  
setuptools    41.0.1 
Werkzeug      0.15.4 
wheel         0.33.4 

开始一个flask应用

可以直接创建一个py文件或者开启一个project,选择对应的虚拟环境和python版本以及项目路径,然后创建会自动生成
在这里插入图片描述
这里可以使用自己写:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

把它保存为 hello.py (或是类似的),然后用 Python 解释器来运行。

$ python hello.py

那么,这段代码做了什么?

  • 首先,我们导入了 Flask 类。这个类的实例将会是我们的 WSGI 应用程序。
  • 接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 name,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 ‘main’ 或实际的导入名)。这是必须的,Flask 才知道到哪去找模板、静态文件等等。详情见 Flask 的文档。
  • 然后,我们使用 route() 装饰器告诉 Flask 什么样的URL 能触发我们的函数。
  • 这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想要显示在用户浏览器中的信息。
  • 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if name == ‘main’:确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
  • Ctrl+C退出

配置

1.直接在app.run方法里面写
2.写成类,然后app.config.from_object(MyConfig)加载:

# 写一个配置类
class MyConfig(object):
    DEBUG = True
    PORT = 6000

3.从文件导入配置,创建一个config.ini配置文件里面写配置内容,然后设置即可:

  • app.config.from_pyfile(‘config.ini’)

4.还有其他的自己研究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值