修改ModelForm的預設widget及其屬性

2022-02-26 23:42:18 字數 1088 閱讀 5151

如果只是修改widget的預設屬性可以採用如下方法: 

from django import

forms

from django.contrib.auth.models import

user

class

userform(forms.modelform):

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

super(userform, self).

__init__(*args, **kwargs)

#change a widget attribute:

self.fields['

user_permissions

'].widget.attrs["

size

"] = 5

class

meta:

model = user

而如果要將預設的widget替換成其他的也很簡單,只需要重新定義乙個同名字段即可:

from django import

forms

from django.contrib.auth.models import

user

class

userform(forms.modelform):

memo = forms.charfield(label='

備註',widget=forms.textarea(),required=false)

class

meta:

model = user

當然,樣式相關的內容還是要放到template才合適,但從上邊**也說明了如何改變widget的同時,修改widget屬性。

另一種更加簡潔的方法如下:

from django.forms import

modelform, textarea

class

userform(modelform):

class

meta:

model =user

widgets =),

}

mysql 預設排序 修改 MySQL修改預設排序

乙個資訊發布系統,大多數情況最新發表的記錄要顯示在最前面。select from article where username 阿海 order by posttime desc limit 0,10 假如使用者發表的文章有上萬篇,這個排序將會非常的慢,好像沒有使用索引一樣,show process...

Django ModelForm修改預設的控制項屬性

django 中利用modelform 可以快速地利用資料庫對應的model 子類來自動建立對應表單.例如 from django.db import models from django.forms import modelform class book models.model name mod...

修改jupyter notebook的預設路徑

問題描述 在使用jupyter notebook中發現每次jupyter notebook自動開啟預設的路徑,很不方便。我希望在指定的路徑下開啟jupyter notebook。如,在命令列中 cd e pythonworkout 進入到指定的資料夾,然後 e pythonworkout jupyt...