写个文章,居然把我写哭了.....
写在前面
文章标题应该叫这个《大白话说Python+Flask入门(五)Flask中的各种视图》,但是标题我改了,是因为我现在感受就是想哭.....
为什么?
今天去相亲了,结果凉了,当然也在我的意料中,也不伤心。
女孩比我小5岁,直接就跟我说,不着急结婚,是为了应付父母不得不出来,所以没啥感觉!
作为一个35岁的大龄剩男,或者这么说吧,对于现在的我而言,不敢对女孩有任何期待,从另一个角度来说,不被嫌弃就很不错了。
怎么说呢,我可能还是忘不了前任,最近每天都想着和她能偶遇,结果一次也没遇到过!
有的人会说,那你去找她复合,对不起我还想保留男人最后的一点尊严,就算她回头来找我了(我对她的了解,根本不可能),我也不会同意,我跟她不会有结果。
喜欢也好爱也罢,都烂在心里吧,其他的交给时间吧!
换个角度看,真的不怪前女友,我能理解她,谁叫自己不是年薪百万呢,还是自己不够优秀,怨不得别人,自己努力吧。
视图的使用
不管心情,好不好也不能忘了学习,来继续更新!
你常见的视图
一般我们看到的也就是这样的,如下所示:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
基于类的即插视图
个人觉得就是加了个构造函数吧
from flask import Flask, render_template
from flask.views import View
app = Flask(__name__)
class RenderTemplateView(View):
def __init__(self, template_name):
self.template_name = template_name
def dispatch_request(self):
return render_template(self.template_name)
if __name__ == '__main__':
app.add_url_rule('/', view_func=RenderTemplateView.as_view(
'index', template_name='index.html'))
app.run(debug=True)
知识点:
- 无论何时请求被调度,会创建这个类的一个新实例,并且
dispatch_request()
方法会以URL
规则为参数调用。 - 这个类本身会用传递到
as_view()
函数的参数来实例化
基于MethodView类的API
这个看起来比较高级,但是我觉得真就一般般,我真的没见过,谁写接口,增删改查都是一个路径用到死吧,示例代码如下:
from flask import Flask
from flask.views import MethodView
app = Flask(__name__)
class UserAPI(MethodView):
def get(self, user_id):
if user_id is None:
return 'a list of users'
else:
return 'expose a single user'
def post(self):
return 'create a new user'
def delete(self, user_id):
return 'delete a single user'
def put(self, user_id):
return 'update a single user'
def register_api(view, endpoint, url, pk='id', pk_type='int'):
view_func = view.as_view(endpoint)
app.add_url_rule(url, defaults={pk: None},
view_func=view_func, methods=['GET', ])
app.add_url_rule(url, view_func=view_func, methods=['POST', ])
app.add_url_rule('%s<%s:%s>' % (url, pk_type, pk), view_func=view_func,
methods=['GET', 'PUT', 'DELETE'])
if __name__ == '__main__':
register_api(UserAPI, 'user_api', '/users/', pk='user_id')
app.run(debug=True)
知识点:
- 直觉上来看,就是同一个
url
路径,能完成增删改查了,只是细微区别在于是否传参数了 - 一定程度上看,真的就
是restful
风格Api
,再直白点说就是spring boot
的@RequestMapping
,能够处理 HTTP 请求的方法, 比如GET, PUT, POST, DELETE
以及PATCH
,真的不建议用,了解就好 - 装饰视图类没有啥意义,所以不分享了
写在最后
心情还是很低落的吧,今天我跟爸爸主动说了下相亲的结果,爸爸没有说太多,只说了句,五年内你有孩子,我们还能帮你带动,要是在过几年,我们可能带不动了,都错过了,你自己多努力吧!
这种感觉就好像,有一天晚上我下班回家,妈妈跟我说了一句话,我差点哭了。
妈妈说:
以后我年纪大了,可能记性也不好了,不一定总能想起来提醒你增减衣服,以后你要学会自己照顾好自己。
这段话,我不知道打了多少次,此刻竟然哭的泣不成声!
我也理解妈妈的意思是,我们也不催你找对象,只是怕他们百年后,我自己在世上孤独一人,无人照顾,无依无靠。
找不找对象什么的是否能结婚,我觉得对我不重要,我是真的不想让父母担心,真的!
写到这,我写不下去了,已经哭成泪人了。
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君