当前位置: 首页> 健康> 科研 > 素材免费网站_微信商家小程序收费吗_如何制作一个网站_网站搜索引擎优化方案的案例

素材免费网站_微信商家小程序收费吗_如何制作一个网站_网站搜索引擎优化方案的案例

时间:2025/7/9 19:04:54来源:https://blog.csdn.net/zhaoxz1985/article/details/142989973 浏览次数:0次
素材免费网站_微信商家小程序收费吗_如何制作一个网站_网站搜索引擎优化方案的案例


由于项目需要做可视化,前端及框架技术薄弱,只能选择读书

书籍名称为:《Python Web开发项目教程 [Flask版]》-- 黑马程序员 著(自费,35.00,JD购得)

将书中示例代码,加上注释,统一放在:app.py 中,供大家学习使用,会持续更新,放心~

更新日期:2024.10.23

#!/usr/bin/python
# -*- coding:utf-8 -*-from flask import Flaskapp = 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 = TrueSECRET_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# 在路由注册时显示指定请求方式为 GET,请求方式为列表形式,可以包含一个或多个方式
# @app.route('/login', methods=['GET', 'POST'])
# Flask2.0 之后的快捷简写方式
# @app.get('/login')
# def login():
#     return f'<h1>Login success</h1>'from flask import after_this_request# before_first_request 在 Flask2.3 中就已经废弃了,当前使用版本为 3.0,故无法使用该方法
# @app.before_first_request
# def before_first_request():
#     print("这是请求钩子 before_first_request 注册的函数")@app.before_request
def before_request():print("这是请求钩子 before_request 注册的函数")
@app.route('/index_request')
def index_request():print('Hello Flask')@after_this_requestdef after_this_request_func(response):print("这是请求钩子 after_this_request_func 注册的函数")return responsereturn 'Hello Flask'
@app.after_request
def after_request(response):print("这是请求钩子 after_request 注册的函数")return response
@app.teardown_request
def teardown_request(error):print("这是请求钩子 teardown_request 注册的函数")# update 2024.10.21
from flask import request
# @app.route('/index')
# def index():
#     user_agent = request.user_agent    # 获取浏览器标识信息
#     return f'{user_agent}'from flask import session
app.secret_key = 'Your_secret_key&^52@!'    # 设置 secret_key 的值
@app.route('/index')
def index():if 'username' in session:return f'Hello: {session.get("username")}'return 'Please login in'
@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'POST':session['username'] = request.form['username']    # 设置 session 的值return 'Login success'return '''<form method="post"><p><input type=text name=username><p><input type=submit value='Login'></form>'''
# update 2024.10.23
# 使用 current_app 对象获取当前程序中的密钥
from flask import current_app
@app.route('/index_current_app')
def index():return f'{current_app.secret_key}'
# 使用 g 对象模拟获取当前用户信息
from flask import g
@app.route('/index_g')
def get_user():user_id = '001'             # 设置用户 IDuser_name = 'flask'         # 设置用户名称g.user_id = user_id         # 将用户 ID 保存到 g 对象中g.user_name = user_name     # 将用户名称保存到 g 对象中result = db_query()return f'{result}'
def db_query():user_id = g.user_id         # 使用 g 对象获取用户 IDuser_name = g.user_name     # 使用 g 对象获取用户名称return f'{user_id}:{user_name}'from flask import Response
@app.route('/index_response')
def index_resonse():# 使用 Response 类的构造方法生成响应,设置响应状态码为 201,响应类型为 text/htmlresp = Response(response='Python&Flask',status=201,content_type='text/html;charset=utf-8')return resp
from flask import make_response
@app.route('/index_make_res')
def index_make_res():# 传入一个元组依次设置响应体、响应状态码、响应类型、响应长度(实测未生效)res = make_response('Python&Flask',201,{'content-type':'text/html;charset=utf-8', 'content-length': 15})return resfrom flask import jsonify
@app.route('/index_resp_json')
def index_resp_json():res = make_response(jsonify({'Python':'Flask'}), 202)return resfrom flask import url_for
@app.route('/hello/flask')
def greet():# 反向解析视图函数 greet() 对应的 URLreturn f'{url_for("greet")}'
@app.route('/hello/<name>')     # 指定的 URL 归则中包含变量 name
def greet_name(name):           # 将 name 传递给视图函数 greet_name()# return f"{url_for('greet_name', name=name)}"    # 在函数内部反向解析时将 name 以关键字参数形式传递# return f"{url_for('greet_name', name=name, age=20)}"    # 传入了 URL 传递的参数 name,同时还以关键字参数形式传入 age=20return f"{url_for('greet_name', name=name, addr='北京')}"    # url_for() 函数可以对 URL 地址中的一些特殊字符自动编码# return: /hello/zhangsan?addr=%E5%8C%97%E4%BA%ACfrom flask import redirect
@app.route('/index_redirect')
def index_redirect():if 'username' in session:return f'Hello: {session.get("username")}'return redirect(url_for('index_login'))
@app.route('/index_login', methods=['GET', 'POST'])
def index_login():if request.method == 'POST':session['username'] = request.form['username']return redirect(url_for('index_redirect'))return '''<form method="post"><p><input type=text name=username><p><input type=submit value='Login'></form>'''if __name__ == "__main__":app.run()
关键字:素材免费网站_微信商家小程序收费吗_如何制作一个网站_网站搜索引擎优化方案的案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: