标签:Flask self 视图 用法 url add rule def view
1、add_url_rule(rule, endpoint=None, view_func=None)
注:这个方法用来添加url与视图函数的映射,如果没有填写`endpoint`,默认使用`view_func`的名字作为`endpoint`。
app.add_url_rule('/list/',view_func=list,endpoint='list')
2、@app.route(rule,**options):底层依然是使用add_url_rule这个函数实现路由映射的
@app.route('/') def index(): return render_template('index.html')
一、标准类视图函数
实例1、URL返回JSON数据
from flask import views,jsonify class JsonView(views.View): def get_data(self): raise NotImplementedError def dispatch_request(self): return jsonify(self.get_data()) class ListViews(JsonView): def get_data(self): return {'a':'111','b':'222'} # 第一步:匹配url,找到ListViews方法 # 第二步:执行dispatch_request方法,找到父类JsonView =》dispatch_request() # 第三步:return jsonify(self.get_data()) ===》找到自己的get_data()方法 ===》转换json格式并返回数据 app.add_url_rule('/list/',endpoint='list',view_func=ListViews.as_view( 'list' ))
实例2、多个URL获取相同数据
from flask import views,render_template class GuangGaoViews(views.View): def __init__(self): super(GuangGaoViews,self).__init__() self.context = { 'a':'广告数据' } class LoginViews(GuangGaoViews): def dispatch_request(self): return render_template('login.html',**self.context) class RegistViews(GuangGaoViews): def dispatch_request(self): return render_template('regist.html',**self.context) app.add_url_rule('/login/',view_func=LoginViews.as_view('login')) app.add_url_rule('/regist/',view_func=RegistViews.as_view('regist'))
标签:Flask,self,视图,用法,url,add,rule,def,view 来源: https://www.cnblogs.com/lee-xingxing/p/12358468.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。