内容简介:蓝图用来为不同的视图函数生成目录结构可以通过蓝图给不同类别的视图函数添加路由前缀请求扩展可以针对蓝图生效
蓝图用来为不同的视图函数生成目录结构
可以通过蓝图给不同类别的视图函数添加路由前缀
请求扩展可以针对蓝图生效
视图文件模块中,视图函数的名称不能和蓝图的名称相同
使用蓝图完成一个用户页面和登录页面的规划,将用户相关的页面都以 /user 开头,所有要访问/user开头的url都必须通过登录验证。
项目结构如下
在项目路径下创建run.py 和app目录,并在app目录下创建static,templates,views三个目录,以及__init__.py文件
run.py文件内容如下
from app import app if __name__ == '__main__': app.run()
app/__init__.py文件如下
from flask import Flask app = Flask(__name__, template_folder='templates', static_folder='static', static_url_path='/static') from .views.account import account from .views.user import user app.register_blueprint(account) app.register_blueprint(user) app.secret_key = "password" app.debug = True
app/views/user.py内容如下
from flask import Blueprint, session, redirect user = Blueprint('user', __name__, url_prefix='/user/') # 让url前缀为 user的请求都要求登录 @user.before_request def press_request(*args, **kwargs): user = session.get('user_info') if user: return None return redirect('/login/') @user.route('/', methods=['GET', 'POST']) def index(): return 'user'
app/views/account.py内容如下
from flask import Blueprint, request, render_template, redirect, session account = Blueprint('account', __name__) @account.route('/login/', methods=['GET', 'POST']) def login(): if request.method == "GET": return render_template('login.html') else: user = request.form.get("user") pwd = request.form.get("pwd") if user == 'zdz' and pwd == '123': session['user_info'] = user # return redirect('http://www.zhengdazhi.com') return redirect('/user/') return render_template('login.html', error='用户名或密码错误') # 为account这个蓝图下的url前缀的请求做扩展 @account.before_request def press_request(*args, **kwargs): print("来了")
以上所述就是小编给大家介绍的《flask蓝图构建小项目》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 「Flask笔记」 蓝图
- 5. 使用Flask蓝图(blueprint)
- flask使用蓝图规划大型项目
- React 16.x 蓝图[双语版]
- 简单解决大型 Flask 蓝图的路由划分
- [Flask] Flask 基于子域名的蓝图管理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统(英文版·第2版)
[美] Randal E. Bryant、[美] David R. O'Hallaron / 机械工业出版社 / 2011-1 / 128.00元
本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。 相对于第1版,本版主要是反映了过去十年间硬件技术和编译器的变化,具体更新如下: 1. 对系统的介绍(特别是实际使......一起来看看 《深入理解计算机系统(英文版·第2版)》 这本书的介绍吧!