django 中利用modelform 可以快速地利用資料庫對應的model 子類來自動建立對應表單.
例如:
from django.db import models
from django.forms import modelform
class
book
(models.model):
name = models.charfield(max_length=100)
authors = models.manytomanyfield(author)
class
bookform
(modelform):
class
meta:
model = book
fields = ['name', 'authors']
但這樣預設建立的表單是很醜的, 一般需要重寫字段的控制項屬性, 來加入各種效果. 總結下我常用的兩種.
在django手冊的modelform一章中, 提供了這種方式, book 的name 屬性為charfield 如果希望它表示成乙個而不是預設的
時, 可以按如下方式覆蓋字段預設的widget:
class
bookform
(modelform):
class
meta:
model = book
fields = ['name', 'authors']
widgets = ),
}
這種方式可以指定控制項的型別及其對應的屬性, 不過大部分時候, 預設的控制項型別已經夠用了, 只需要修改控制項的屬性. 可以採取另外一種更方便的方法.
通過通過重寫__init__
方法, 遍歷base_fields欄位, 來快速修改控制項的屬性.
class
bookform
(modelform):
class
meta:
model = book
fields = ['name', 'authors']
def__init__
(self, *args, **kwargs):
super(bookform, self).__init__(*args, **kwargs)
for field_name in self.base_fields:
field = self.base_fields[field_name]
field.widget.attes.update()
修改DataGrid控制項的預設的分頁樣式
其實也不是很難,先看看datagrid顯示的是什麼東東,這樣可能會有點眉目。在datagrid中,分頁導航欄是用一行 tablerow 來表現出來,在這個行 tablerow 中,只有乙個列 tablecell 我們所看到的所有的數字超連結按鈕 linkburron 都是這個列 tablecell ...
Duilib Font字型屬性,控制項的常規屬性
字型屬性有 如果想使用某個字型,只要在控制項的屬性裡指定該字型的序號就可以了。如 name thebtn 用處 代表當前控制項。text 文字 用處 控制項上顯示的文字。textcolor可以設定它的顏色。disabledtextcolor禁用時的顏色。textpadding文字邊距。tooltip...
修改jupyter notebook的預設路徑
問題描述 在使用jupyter notebook中發現每次jupyter notebook自動開啟預設的路徑,很不方便。我希望在指定的路徑下開啟jupyter notebook。如,在命令列中 cd e pythonworkout 進入到指定的資料夾,然後 e pythonworkout jupyt...