Django 內建字段

2022-08-01 10:15:12 字數 4310 閱讀 5521

field

required=true, 是否允許為空

widget=none, html外掛程式

label=none, 用於生成label標籤或顯示內容

initial=none, 初始值

help_text=''

, 幫助資訊(在標籤旁邊顯示)

error_messages=none, 錯誤資訊

show_hidden_initial=false, 是否在當前外掛程式後面再加乙個隱藏的且具有預設值的外掛程式(可用於檢驗兩次輸入是否一直)

validators=, 自定義驗證規則

localize=false, 是否支援本地化

disabled=false, 是否可以編輯

label_suffix=none label內容字尾

charfield(field)

max_length=none, 最大長度

min_length=none, 最小長度

strip=true 是否移除使用者輸入空白

integerfield(field)

max_value=none, 最大值

min_value=none, 最小值

floatfield(integerfield)

...decimalfield(integerfield)

max_value=none, 最大值

min_value=none, 最小值

max_digits=none, 總長度

decimal_places=none, 小數字長度

basetemporalfield(field)

input_formats=none 時間格式化

datefield(basetemporalfield) 格式:2015-09-01timefield(basetemporalfield) 格式:11:12datetimefield(basetemporalfield)格式:2015-09-01 11:12durationfield(field) 時間間隔:%d %h:%m:%s.%f

...regexfield(charfield)

regex, 自定製正規表示式

max_length=none, 最大長度

min_length=none, 最小長度

error_message=none, 忽略,錯誤資訊使用 error_messages=

emailfield(charfield)

...filefield(field)

allow_empty_file=false 是否允許空檔案

imagefield(filefield)

...注:需要pil模組,pip3 install pillow

以上兩個字典使用時,需要注意兩點:

- form表單中 enctype="

multipart/form-data

" - view函式中 obj =myform(request.post, request.files)

urlfield(field)

...

booleanfield(field)

...nullbooleanfield(booleanfield)

...choicefield(field)

...choices=(), 選項,如:choices = ((0,'

上海'),(1,'北京'

),) required=true, 是否必填

widget=none, 外掛程式,預設select外掛程式

label=none, label內容

initial=none, 初始值

help_text=''

, 幫助提示

modelchoicefield(choicefield)

... django.forms.models.modelchoicefield

queryset,

#查詢資料庫中的資料

empty_label="

---------

", #

預設空顯示內容

to_field_name=none, #

html中value的值對應的字段

limit_choices_to=none #

modelform中對queryset二次篩選

modelmultiplechoicefield(modelchoicefield)

... django.forms.models.modelmultiplechoicefield

typedchoicefield(choicefield)

coerce = lambda

val: val 對選中的值進行一次轉換

empty_value= ''

空值的預設值

multiplechoicefield(choicefield)

...typedmultiplechoicefield(multiplechoicefield)

coerce = lambda

val: val 對選中的每乙個值進行一次轉換

empty_value= ''

空值的預設值

combofield(field)

fields=() 使用多個驗證,如下:即驗證最大長度20,又驗證郵箱格式

fields.combofield(fields=[fields.charfield(max_length=20), fields.emailfield(),])

multivaluefield(field)

ps: 抽象類,子類中可以實現聚合多個字典去匹配乙個值,要配合multiwidget使用

splitdatetimefield(multivaluefield)

input_date_formats=none, 格式列表:['

%y--%m--%d

', '

%m%d/%y

', '

%m/%d/%y']

input_time_formats=none 格式列表:['

%h:%m:%s

', '

%h:%m:%s.%f

', '

%h:%m']

filepathfield(choicefield) 檔案選項,目錄下檔案顯示在頁面中

path, 資料夾路徑

match=none, 正則匹配

recursive=false, 遞迴下面的資料夾

allow_files=true, 允許檔案

allow_folders=false, 允許資料夾

required=true,

widget=none,

label=none,

initial=none,

help_text=''

genericipaddressfield

protocol='

both

', both,ipv4,ipv6支援的ip格式

unpack_ipv4=false 解析ipv4位址,如果是::ffff:192.0.2.1時候,可解析為192.0.2.1, ps:protocol必須為both才能啟用

slugfield(charfield) 數字,字母,下劃線,減號(連字元)

...uuidfield(charfield) uuid型別

...

Django 內建分頁

from django.core.paginator import paginator,page userlist models.user.objects.all paginator paginator userlist,10 per page 每頁顯示條目數量 count 資料總個數 num pa...

django 內建標籤

控制當前自動轉義的行為,有on和off兩個選項 定義乙個子模板可以覆蓋的塊,在模板中 上一節 有使用示例 注釋,和 之間的內容被解釋為注釋 乙個防止csrf攻擊 跨站點請求偽造 的標籤 迴圈給出的字串或者變數,可以混用 值得注意的是,這裡的變數的值預設不是自動轉義的,要麼你相信你的變數,要麼你就是用...

Django內建分頁

1 匯入django類生成物件之後的方法 內建分頁需要匯入django中的類 from django.core.paginator import paginator paginator paginator user list,10 第乙個引數是我們查出來的所有的物件,第二個引數表示的是每頁顯示的行數...