html - Django 表单设置表单的名称
问题描述
如何使用模型表单设置表单的名称?
这是我的模型形式:
class DetayModelForm(forms.ModelForm):
class Meta:
model = Detay
fields = [ 'yazi', 'tip', 'kullanimAdet']
我知道如何在表单中设置字段的名称属性,也有很多例子。
但是我真的真的找不到,如何设置表单自己的名称,而不是表单中的字段,正是表单自己的名称属性;在 ModelForm 类中。
在 html 方面,我将使用这个属性:https ://www.w3schools.com/tags/att_form_name.asp
我需要在我的模板中使用 html 表单名称属性,但是我找不到如何在 ModelForm 类中直接将此属性添加到表单中。
我尝试在 ModelForm 类中使用 init :
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.name = 'DetayFormu'
但是在 html 方面,表单仍然没有 name 属性。
而且我也知道,是的,我可以像这样在我的模板中设置这个属性:
<form method="post" name="DetayFormu">
{% csrf_token %}
{{ form|crispy }}
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
但我真的很想知道如何直接在 ModelForm 类中设置这个属性。
我怎样才能做到这一点 ?
解决方案
只需使用 helper attr 添加任何新属性
from crispy_forms.helper import FormHelper
class DetayModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_action = 'url'
super(DetayModelForm, self).__init__(*args, **kwargs)
self.helper.attrs = {'name': 'DetayFormu','autocomplete':'off'}
class Meta:
model = Detay
fields = [ 'yazi', 'tip', 'kullanimAdet']
推荐阅读
- powershell - Powershell 流水线:将 System.ServiceProcess.ServiceController 转换为 PSObject
- soap - 使用 OSI saber 时出生日期无效
- database - 在access中创建父子数据录入表单
- r - R - 如何获得 2 个阶跃函数的差值/总和?
- elasticsearch - Cloudwatch 到 Elasticsearch 在推送到 ES 之前解析/标记日志事件
- java - 使用 Java 解析器在 XML 属性中保留 /t 和 /n
- c - 在C中的字符串中返回置换
- sql - 多对多?
- javascript - 在html页面中编写javascript出现在页面中
- android - 如何在 Android Test 接口中对静态方法进行单元测试?