寫個文章,居然把我寫哭了.....

久曲健發表於2023-12-02

寫在前面

文章標題應該叫這個《大白話說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,真的不建議用,瞭解就好
  • 裝飾檢視類沒有啥意義,所以不分享了

寫在最後

心情還是很低落的吧,今天我跟爸爸主動說了下相親的結果,爸爸沒有說太多,只說了句,五年內你有孩子,我們還能幫你帶動,要是在過幾年,我們可能帶不動了,都錯過了,你自己多努力吧!

這種感覺就好像,有一天晚上我下班回家,媽媽跟我說了一句話,我差點哭了。

媽媽說:

以後我年紀大了,可能記性也不好了,不一定總能想起來提醒你增減衣服,以後你要學會自己照顧好自己。

這段話,我不知道打了多少次,此刻竟然哭的泣不成聲!

我也理解媽媽的意思是,我們也不催你找物件,只是怕他們百年後,我自己在世上孤獨一人,無人照顧,無依無靠。

找不找物件什麼的是否能結婚,我覺得對我不重要,我是真的不想讓父母擔心,真的!

寫到這,我寫不下去了,已經哭成淚人了。

相關文章