Python django from表單元件

2022-07-06 20:06:09 字數 2429 閱讀 8901

from django.forms import

form

from django.forms import

fields

from django.forms import

widgets

from django.forms.models import

modelchoicefield

from django.core.validators import

regexvalidator

from django.core.validators import

validationerror

from web01.models import

book, publish

class

userform(form):

def__init__(self, *args, **kwargs):

super(userform, self).

__init__(*args, **kwargs)

self.fields[

'book

'].widget.choices = book.objects.values_list('

id', '

name')

name =fields.charfield(

max_length=32,

strip=true,

required=true,

error_message=,

widget=widgets.textinput(),

label='姓名'

, label_suffix=':'

, )

book =fields.charfield(

label='書名'

, widget=widgets.select()

)author =modelchoicefield(

queryset=book.objects.all(), #

返回的是 model物件的 __str__值

to_field_name='

author

', #

下拉選的 value值

empty_label='

--請選擇---',

required=true,

widget=widgets.select(),

label='作者'

)

"""雙重驗證

"""email =fields.combofield(

fields=[

fields.charfield(max_length=32, ), #

驗證長度

fields.emailfield() #

驗證格式

], required=true,

error_message=,

)"""自帶正規表示式驗證

"""phone =fields.charfield(

widget=widgets.select(),

validators=[regexvalidator(r'

^[1-9]+$

', '

請輸入數字

', code='

invalid1'),

regexvalidator(r

'^158[1-9]+$

', '

必須以159開頭

', code='

invalid2

')],

label='

**號碼',

label_suffix=':'

, error_messages=

)"""對 name 進行二次判斷

"""def

clean_name(self):

val = self.cleaned_data['

name']

if val == '

射鵰英雄傳':

raise validationerror('

%s已經存在!

' %val)

return

val

"""整體驗證

"""def

clean(self):

data =self.cleaned_data

name = data['

name']

author = data['

author']

if name == '

射鵰英雄傳

'and author == '

jack':

raise validationerror('

name不能是射鵰英雄傳 author不能是jack!')

return data

封裝Vue Element的form表單元件

在上述示例中,currenttabcomponent可以包括 就醬,對它的介紹完了。接下來就是封裝的具體實現,照例先來張效果圖 1 封裝的form表單元件form.vue 重置 查詢在封裝的時候發現乙個問題,就是有時候可能一行展示兩列表單,有時候呢可能一行又要展示三列或四列表單,這樣的話,也是需要在...

(表單 表單的元素 表單的屬性)

表單 標籤名 1 form 表單 action 路徑 method 提交方式 2 method 提交方式 get提交 在路徑後面加引數 顯示的是 name 123 age 123 注意 鍵中不要加空格,加空格後所顯示的就不是想要的數值了 name 123 age 123 name 123 age 1...

寬度 表單 Form表單

塊級元素和行內元素 1.塊級元素獨佔一行,行內元素在同一行顯示 2.塊級元素預設寬度為100 行內元素由內容撐開 3.塊級元素可以設定寬高,行內元素不可以設定寬高 4.塊級元素可以設定margin和padding和四個方向,行內元素只可以設定margin和padding和左右值,上下不起作用 5.塊...