基于《Python Web开发项目教程 [Flask版]》输出的app.py [带注释,持续更新]
由于项目需要做可视化,前端及框架技术薄弱,只能选择读书
书籍名称为:《Python Web开发项目教程 [Flask版]》-- 黑马程序员 著(自费,35.00,JD购得)
将书中示例代码,加上注释,统一放在:app.py 中,供大家学习使用,会持续更新,放心~
#!/usr/bin/python
# -*- coding:utf-8 -*-
from flask import Flask
app = Flask(__name__)
# 通过访问字典元素的方式使用配置信息
# app.config['TESTING'] = True
# app.config['DEBUG'] = True
# 调用 flask.Config 从父类继承的 update() 方法
# app.config.update(
# TESTING=True,
# SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/'
# )
# 通过导入文件的方式使用配置信息
import json
app.config.from_file('config.json', load=json.load)
# 通过 from_pyfile() 方法从 py 文件中导入配置项
# app.config.from_pyfile('config.py')
"""
# 通过 from_object() 方法从 Python 类中导入配置项
class Settings:
TESTING = True
SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/'
setting = Settings()
app.config.from_object(setting)
"""
@app.route('/')
def hello_flask():
return "<p>Hello, Flask!</p>"
# 通过 route 来注册路由
@app.route('/index')
@app.route('/homepage')
def index():
return f'<h1>This is index page!</h1>'
# 通过 add_url_rule 来注册路由
def index_new():
return f'<h1>This is index new page!</h1>'
app.add_url_rule(rule='/index_new', view_func=index_new)
# 通过 URL 传递参数给视图函数
# 显示指定类型转换器,内置转换器 int
@app.route('/<int:page>')
def page_num(page):
return f'Current Page Number: {page}'
# 自定义转换器,继承 BaseConverter 类,语法:程序实例.url_map.converters['自定义转换器名称']=自定义转换器的类名
from werkzeug.routing import BaseConverter
class MobileConverter(BaseConverter):
regex = '1[3-9]\d{9}$'
app.url_map.converters['mobile']=MobileConverter
@app.route('/user/<mobile:mobile>')
def index_mobile(mobile):
return f'Mobile Number is {mobile}'
# UUID, Universally Unique Identifier
# 通用唯一识别码,由 32 位十六进制数字构成,以连接符-分隔为 5 组来显示,形式为:8-4-4-4-12
if __name__ == "__main__":
app.run()