我想在 Django 1.11 上使用 ModelForm 创建禁用字段。
我读过 django 自 1.9 以来已“禁用字段选项”。但是,我无法理解如何使用 ModelForm 定义禁用字段。
你能告诉我如何用 ModelForm 创建禁用字段吗?
这是我的models.py、forms.py 和views.py
class my_model(models.Model)
name = models.CharField(max_length=10,)
title = models.CharField(max_length=10,)
date = models.DateField(default=date.today,)
def __str__(self):
return u'%s' % (self.name)
class my_modelform(ModelForm):
class Meta:
model = my_model
fields = ['name', 'title', 'date']
widgets = {
'date': DateWidget(usel10n=True, bootstrap_version=3,),
}
disabled = [ 'name' ]
class my_UpdateView(UpdateView):
model = my_model
form_class = my_modelform
template_name = "update_form.html"
success_url = "success.html"
Run Code Online (Sandbox Code Playgroud)
虽然,我更改了“disabled = {'name' : True} 而不是 [ …
我想创建如下所示的 HTML 模板。
\n\n\xe3\x83\xbbmodels.py
\n\nclass Client(Model):\nname = CharField(max_length=50)\nemail = EmailField(max_length=100, verbose_name="E-mail")\ntitle = CharField(max_length=50)\ndepartment = CharField(max_length=50)\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe3\x83\xbbData
\n\n| Name | Mail | Title | Department |\n| John | john@mailaddress.com | engineer | development |\n| Bob | bob@mailaddress.com | engineer | development |\n| Sam | sam@mailaddress.com | engineer | development |\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe3\x83\xbbviews.py
\n\nclass myListView(, ListView):\nmodel = Client\ntemplate_name = "template.html"\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe3\x83\xbbtemplate.html
\n\n <table>\n <tbody>\n {% for item in object_list %}\n <tr>\n <td>{{ item }}</td>\n </tr>\n {% …
Run Code Online (Sandbox Code Playgroud)