python框架中flask知識點總結(jié)
有很久沒有更新我的博客了,在學習flask去了,別人都說flask不難,其實現(xiàn)在我也這么覺得,但是在剛接觸的時候還是有點吃力的。
在學習的過程中查閱了不少,也了解了許多,今天想做個總結(jié)。。。以免覺得學了那么久什么都沒學到,還有防止以后忘記。
一.關(guān)于裝飾器,路由
最開始接觸的時候覺得好神奇,只會照著敲不知道怎么自己用起來
@app .route(‘/')
def hello:
print(‘hello')
注意:1.只有@這個東西是固定的,app 是可以換的,這與藍本中的定義有關(guān),blueprint給了xx之后在import和@的時候就是xx哦
2.@下面的def就是你會被裝飾的函數(shù),至于和誰裝飾,這就與route有關(guān)了
3.‘/'也是一個有趣的東西,現(xiàn)在它還很單調(diào)無味,等到東西多的時候可以自己加這玩/post,/login。。。在之后有登入的時候,還可以變成登入用戶的/post/<name>,具體操作不告訴你,可以思考下,不難。
二.模板
1.我們在子模板的開頭定義了”{% extend ‘xx' %}”語句來聲明繼承,此后在子模板中由”{% block block_name %}”和”{% endblock %}”所包括的語句塊,將會替換父模板中同樣由”{% block block_name %}”和”{% endblock %}”所包括的部分。
2.如果父模板中的塊里有內(nèi)容不想被子模板替換怎么辦?我們可以使用{{super( )}}
3.塊內(nèi)語句的作用域:默認情況下,塊內(nèi)語句是無法訪問塊外作用域中的變量。如果你想在塊內(nèi)訪問這個塊外的變量,你就需要在塊聲明時(父)添加”scoped”關(guān)鍵字。
4.宏{% macro macro_name() %}{% endmacro %}類似于函數(shù)
5.import和include就是包含 (Include),使用的方法就是”{% include %}”語句。其功能就是將另一個模板加載到當前模板中,并直接渲染在當前位置上。它同導(dǎo)入”import”不一樣,”import”之后你還需要調(diào)用宏來渲染你的內(nèi)容,”include”是直接將目標模板渲染出來。它同block塊繼承也不一樣,它一次渲染整個模板文件內(nèi)容,不分塊。
三.表單和數(shù)據(jù)庫
大坑啊
1.提交表單大多用POST
發(fā)送請求的最后一個請求如果是包含表單數(shù)據(jù)的POST請求的話,刷新頁面會再次提交表單,這樣容易提交,例如,之前是下訂單的請求,刷新以后可能是再下一次訂單。所以最好別讓POST作為最后一個請求。
2.可以用重定向 redirect()有時候和url_for()一起玩,url_for()參數(shù)可以是被裝飾的函數(shù)的函數(shù)名,例如main.index
3.添加會話db.session.add()和db.session.commit()提交會話
4.每次更改了表單的列的時候記得更新啊
相關(guān)文章
YOLOv5中SPP/SPPF結(jié)構(gòu)源碼詳析(內(nèi)含注釋分析)
其實關(guān)于YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)其實網(wǎng)上相關(guān)的講解已經(jīng)有很多了,但是覺著還是有必要再給大家介紹下,下面這篇文章主要給大家介紹了關(guān)于YOLOv5中SPP/SPPF結(jié)構(gòu)源碼的相關(guān)資料,需要的朋友可以參考下2022-05-05
python實現(xiàn)調(diào)用其他python腳本的方法
python實現(xiàn)調(diào)用其他python腳本的方法,是一個比較實用的技巧,需要的朋友可以參考下2014-10-10
淺析關(guān)于Keras的安裝(pycharm)和初步理解
Keras 是一個用 Python 編寫的高級神經(jīng)網(wǎng)絡(luò) API,它能夠以 TensorFlow, CNTK, 或者 Theano 作為后端運行。這篇文章給大家介紹Keras的安裝(pycharm)和初步理解,感興趣的朋友一起看看吧2020-10-10

