Python3.5 學習十九 Django分模塊講解 MTV+URL

 

 

本節內容概述:html

 

表單提交的Method使用規則:get 獲取數據  post提交數據mysql

單選使用get正則表達式

多選使用getlist  sql

request.POST.getlist("favor")

文件上傳須要再form表單增長屬性  
enctype="multipart/form-data"

讀取文件須要注意以下步驟:
obj = request.FILES.get("fafafa")
filename = os.path.join('upload',obj.name)
f = open(filename, mode="wb")
for item in obj.chunks():
f.write(item)
f.close()

兩種模式  

至關於編程的兩種模式:對象編程和過程編程兩種模式數據庫

 

模板語言循環字典編程

 

 動態頁面,使用?進行傳參函數

 注意模板中超連接跳轉頁面的代碼中須要有斜槓:post

新的一種方式:/1.html,須要再urls.py中使用正則表達式ui

Django1.0url

path('detail-(\d+).html',views.detail),
相應的,views函數的形參也會追加一個,形參隨便起名字

可是在Django2.0中,須要引入re_path

路由映射按照正則分組(從此推薦使用的):

 

 

匹配結果爲

 

對於views函數,能夠通用一種形參方式接受數據:

*args爲單個變量組成的元祖,**kwargs對應字典

 

Django對應的路由名稱

 

 引用方式:

 

    當前URL:request.path_info

 

   也能夠用另外一種形式實現URL的自定義生成:

  在views裏生成url

 

URL的分發:

 

 Django默認使用sqlite做爲默認數據庫,若是想用mysql,則須要更改一下配置目錄裏的__init__文件:

 數據庫須要本身先建立

 

 

 

 數據建立

 

 用Navicat查看sqlite數據庫

 

練習針對用戶的增刪改查,Url+Views+html

 

 Django的Modles的字段類型:不少,基本類型主要有幾類:時間、字符串、數字、二進制

修改表結構時,增長一列後,執行makemigration 時,系統會提示增長的方式,按提示寫入默認值的需求

自增列,若是不寫,後臺會自動建立,手動生成,按以下語法規則,必須填入primary_key=True

 

 字段的參數:

null  是否爲空

default  默認值

primary_key  主鍵

db_column  列名

 db_index  普通索引

unique  惟一索引

unique_for date  只對日期部分作索引

unique_for_month  同上

unique_for_year  同上

choices  Django admin中顯示下拉框,避免連表查詢下降效率

 

auto_now     更新時,自動更新爲當前時間

auto_now_add  建立時,自動建立爲當前時間

blank                只是在Django admin中是否爲空

varbose_name  在Django admin中顯示的字段中文

editable        在Django admin中是否能夠被編輯

error_messages  在Django admin中自定義錯誤提示信息

error_messages={‘required’:'請輸入。。。'}

 

help_text    在Django admin中給予文本框的提示

validators    在Django admin中自定義字段正則的錯誤信息

 

建立外鍵:models.ForeignKey("tabelname",to_field="column_name",default=XXX)

外鍵在表中的列名會自動加上表名+「_id」

UserInfo.user_group是一個對象

UserInfo.user_group.id是一個對象的屬性

UserInfo.user_group_id是一個列

建立數據時,能夠不用對象方式賦值給UserInfo.user_group

而是用給列UserInfo.user_group_id賦值的方式來關聯外鍵

這種外鍵嵌套能夠多層嵌套

 

 

做業:=========================用戶管理==========================

一、對於用戶組的增刪改查

二、對於用戶的增刪改查

  添加必須作成模態對話框

  刪除也必須是模態對話框

  修改,能夠作跳轉,下拉框的默認值應該是原數據,而不是初始第一個值

三、比較好看的頁面

四、預習:Python進階之路 modles模塊的進階部分,一對1、一對多、多對多

Django ORM操做中最牛逼的語法:

一、__雙下劃綫

二、_set

相關文章
相關標籤/搜索