寫在前面
文章標題應該叫這個《大白話說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
,真的不建議用,瞭解就好 - 裝飾檢視類沒有啥意義,所以不分享了
寫在最後
心情還是很低落的吧,今天我跟爸爸主動說了下相親的結果,爸爸沒有說太多,只說了句,五年內你有孩子,我們還能幫你帶動,要是在過幾年,我們可能帶不動了,都錯過了,你自己多努力吧!
這種感覺就好像,有一天晚上我下班回家,媽媽跟我說了一句話,我差點哭了。
媽媽說:
以後我年紀大了,可能記性也不好了,不一定總能想起來提醒你增減衣服,以後你要學會自己照顧好自己。
這段話,我不知道打了多少次,此刻竟然哭的泣不成聲!
我也理解媽媽的意思是,我們也不催你找物件,只是怕他們百年後,我自己在世上孤獨一人,無人照顧,無依無靠。
找不找物件什麼的是否能結婚,我覺得對我不重要,我是真的不想讓父母擔心,真的!
寫到這,我寫不下去了,已經哭成淚人了。