網站開發學習Python實現-Django學習-自學注意(6.1.3)

@mysql

1.配置文件相關

1.能夠更改時間,地區相關(國際化)
2.BASE_DIR很重要,一個工程要有很好的移植性,必須作到裏面的全部路徑都爲相對路徑,這裏BASE_DIR能夠幫忙
3.DEBUG在發行的視乎記得關
4.INSTALLED_APPS表示註冊的應用,前面的都是自帶的,若是新建一個app,記得註冊
5.MIDDLEWARE中間件註冊,當MIDDLEWARE爲exception處理的時候是從下往上調用,其餘的相反
6.TEMPLATES爲模板相關的配置,巧用'DIRS': [os.path.join(BASE_DIR,"templates")],來設置
7.DATABASES爲數據庫的相關配置,遇到相關數據庫就百度一下,默認爲sqlite3,通常開發用mysql,在配置mysql時候,記得數據庫要提早建立好
8.STATIC_URL還有一個image等等的記得配置好,遵循basegit

2.應用建立相關

1.migrationswe文件夾爲數據庫文件的遷移版本,一個都不能刪除,由於版本都是迭代的
2.使用mysql時候,在init文件中,加入如下代碼,或者使用相關的代碼,這裏mysql有版本問題
django2.1不支持mysql5.6如下的,若是出錯提示version出錯,直接給他註釋相關的代碼就完事github

import pymysql
pymysql.install_as_MySQLdb()

3.admin爲後臺管理相關操做,半自定義後臺頁面的時候,在這裏面引入相關的類,繼承建立本身的管理類,調用相關的固定方法和屬性
4.models是在app中的,這裏寫的數據庫相關,使用的是orm技術,相關的固定屬性和方法的用法查看官方文件
5.urls爲mapping相關的,在app和peoject之中都有,是匹配完project的再來根據註冊的來匹配app的,對應方法和屬性看文檔,可使用反解析工具
6.views相關,在urls中mapping這裏相應的方法,返回的都爲httpresponse的子對象,redirect等等都是,還有render對模板的渲染等,json等數據
7.middleware中間件,要在setting中註冊,分爲4個左右的固定方法,至關於servelet中的flitersql

3.項目相關

1.相關的migrate操做都是經過manage args來實現
2.urls爲project的urls,這裏的機制爲正則匹配,若是匹配到的爲下一個app的方法,進入下個ap的urls進行匹配
3.其餘的暫時沒學數據庫

4.模板相關

1.語法差很少都同樣(jinja2,el)
2.能夠自定義過濾器,日常也不太經常使用
3.模板繼承有,能夠在模板中寫block,經過下一個頁面的重寫block(按照id匹配block)來自定義顯示內容django

5.其餘

1.寫路徑的時候記住在前面寫/,統一這樣避免出錯
2.csrf防禦機制就是使用模板寫一個隱藏域token,返回這個頁面的時候在cookie中也寫一個token,提交的時候會兩個一塊兒驗證。若沒有這東西,別人要改你密碼只須要填入更改密碼門api,而後這個cookie實在你的瀏覽器保存了的,發送請求就改了,可是加了csrf防禦,黑客沒有隱藏域改不了,這個防禦只針對post請求
3.cookie和session都是瀏覽器交互的途徑,cookie爲鍵值對保存到客戶機的,session保存到服務器的(緩存,數據庫,內存,文件),session若是生成,那麼會返回一個sessionid給客戶機服務器依照這個判斷cookie中的sessionid來判斷本身主機裏面的session是否有效。這個交互信息能放在cookie中就放在cookie中,很重要的東西放session
4.其餘想到再總結json

關於做者

我的博客網站
我的GitHub地址
我的公衆號:
在這裏插入圖片描述api

相關文章
相關標籤/搜索