内容简介:蓝图用来为不同的视图函数生成目录结构可以通过蓝图给不同类别的视图函数添加路由前缀请求扩展可以针对蓝图生效
蓝图用来为不同的视图函数生成目录结构
可以通过蓝图给不同类别的视图函数添加路由前缀
请求扩展可以针对蓝图生效
视图文件模块中,视图函数的名称不能和蓝图的名称相同
使用蓝图完成一个用户页面和登录页面的规划,将用户相关的页面都以 /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 基于子域名的蓝图管理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Scalable Internet Architectures
Theo Schlossnagle / Sams Publishing / 2006-7-31 / USD 49.99
As a developer, you are aware of the increasing concern amongst developers and site architects that websites be able to handle the vast number of visitors that flood the Internet on a daily basis. Sc......一起来看看 《Scalable Internet Architectures》 这本书的介绍吧!