python-flask框架路由

    '''
http://127.0.0.1:5000/
后面的这个/叫做根路由
'''

'''
安装flask框架的时候 随着一起的还有jinja2 和 werkzeug
MTV框架---网站项目的框架
M---model 数据模型---数据库中的数据
T---Template 模型 模板文件一般就是html文件
V---View + route 视图+路由
路由就是在网址中设置的资源定位根路由是/
一般的操作是根据路由定位到对应的视图函数View
执行函数操作对应的业务逻辑

Jinja2
flask中的模板引擎 提供了模板的语法

Werkzeug
网站数据进行请求时
客户端 ---浏览器
|
web服务请求数据
|
wsgi容器(应用服务器)
|
web应用程序

web服务器:
接受客户端的请求 跟客户端之间是通过http协议惊喜数据交流的
又是也称作 http服务器

web服务器只负责处理http协议的 一般就是来处理静态页面的
像动态数据---数据库中的数据 通过wsgi接口交给应用服务器进行处理

web服务器常用的 nginx apache等

wsgi容器:
常见的wagi容器有gunicorn,uWSGI等
作用:根据web服务器传递来的参数构建一个让wsgi应用能够成功执行的环境
并且把wsgi用于上处理好的数据返回给web服务器

flask框架中 werkzeug就是wsgi的容器
一般框架中 wsgi容器中 都集成了web服务器
'''

'''
url --- 资源定位符
/ -- 根
'''
 1 from flask import Flask
 2 from settings import DevelopmentConfig
 3 from settings import ProductionConfig
 4 #创建flask类的对象 需要设置一个参数import_name :设置的时flask对象app所在的模块名
 5 app = Flask(__name__)
 6 #查看应用的配置信息
 7 print(app.config)
 8 # app.config['ENV'] = 'development'#设置当前环境为开发环境
 9 # app.config['DEBUG'] = True
10 #从配置文件中加载配置信息
11 app.config.from_object(DevelopmentConfig)
12 
13 #设置一个根路由
14 @app.route('/')
15 def index():
16     return 'Hello Flask!'
17 
18 #路由
19 @app.route('/user')
20 def user_info():
21     user_dict = {
22         'name':'橙子',
23         'age':20,
24         'sex':''
25     }
26     return user_dict
27 
28 #路由变量
29 #URL定位资源的路径中 有一个数据是变化的 每次变化对应着一组数据
30 @app.route('/phone/<brand>')
31 def phone(brand):#在路由中有变量的话 一定要在路由中绑定对应的变量
32     '''
33     在url中传递不同的变量值 需要再对应的视图函数中根据这个变量的数据 进行查询操作
34 
35     '''
36     return '手机品牌' + brand
37 
38 # 分页的情况 变量设置为页码
39 @app.route('/page/<int:page>')
40 def page_data(page):
41     return f'正在请求第{page}页数据'
42 
43 #路由中变量必须加中尖括号 不加尖括号就是一个确定字段
44 
45 #路由中 路径后加不加/ 路由重定向
46 '''
47 加/ ==文件夹
48 不加 ==文件
49 加上/ 这个url路径 就相当于 访问文件夹 cd 切换文件夹的时候 后面加不加路径分隔符 都可以
50 访问资源的时候 后面加不加/ 都能请求定位嗷资源
51 '''
52 @app.route('/hello/')
53 def hello():
54     return 'hello'
55 
56 '''
57 类似于打开文件 直接写文件名 就能打开文件 但是在文件后面加路由路径分隔符 就找不到这个东西
58 请求资源的时候 不加可以请求资源 加上 就没有对应的资源啦
59 '''
60 @app.route('/nice')
61 def nice():
62     return 'nice'
63 
64 if __name__ == '__main__':
65     #启动flask对象 将其部署到服务器上
66     #可以指定访问服务器的地址 默认是127.0.0.1 只能当前计算机可以访问服务器把他设置成功
67     #可以指定访问服务器的端口号 默认是5000
68     #debug 默认是false 在开发环境中建议开启跳水模式 应为开发阶段会经常修改代码 如果是非调试
69     #项目才可以访问新内容
70     app.run()



原文地址:https://www.cnblogs.com/cheng10/p/13734387.html