如何为 django summernote 表单传递不同的 id
How to pass diffrent id's for django summernote form
我在 django 中有一个模型的评论表单,我使用 SummernoteWidget 在我的模板上呈现表单的多个实例。问题是表单只提交表单的第一个实例并忽略其余部分,因为它们共享相同的 Id。
如何为每个表单实例传递多个 ID
我的评论表
class CommentForm(ModelForm):
body = forms.CharField(widget=SummernoteWidget())
class Meta:
model = Comment
fields = ['body']
我的模板
<form method="post">
{% csrf_token %}
{% for field in form %}
{{ field }}
{% endfor %}
<button type="submit">Comment</button>
</form>
我看到你的模型表格有错误。模型表单不应有任何字段。你应该在 META 标签中描述它们。
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
birth_date = models.DateField(blank=True, null=True)
def __str__(self):
return self.name
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ['name', 'title', 'birth_date'].
如上图。此外,对于 summernote 小部件,还应在 META 部分分配。
class FormFromSomeModel(forms.ModelForm):
class Meta:
model = SomeModel
widgets = {
'foo': SummernoteWidget(),
'bar': SummernoteInplaceWidget(),
}
请在模板中调用表单时也使用安全:
{{ foobar|safe }}
在解决所有这些问题后,您可以在相关方法中的 view.py 文件中为多个表单(如果有的话)指定不同的名称。
我在 django 中有一个模型的评论表单,我使用 SummernoteWidget 在我的模板上呈现表单的多个实例。问题是表单只提交表单的第一个实例并忽略其余部分,因为它们共享相同的 Id。
如何为每个表单实例传递多个 ID
我的评论表
class CommentForm(ModelForm):
body = forms.CharField(widget=SummernoteWidget())
class Meta:
model = Comment
fields = ['body']
我的模板
<form method="post">
{% csrf_token %}
{% for field in form %}
{{ field }}
{% endfor %}
<button type="submit">Comment</button>
</form>
我看到你的模型表格有错误。模型表单不应有任何字段。你应该在 META 标签中描述它们。
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
birth_date = models.DateField(blank=True, null=True)
def __str__(self):
return self.name
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ['name', 'title', 'birth_date'].
如上图。此外,对于 summernote 小部件,还应在 META 部分分配。
class FormFromSomeModel(forms.ModelForm):
class Meta:
model = SomeModel
widgets = {
'foo': SummernoteWidget(),
'bar': SummernoteInplaceWidget(),
}
请在模板中调用表单时也使用安全:
{{ foobar|safe }}
在解决所有这些问题后,您可以在相关方法中的 view.py 文件中为多个表单(如果有的话)指定不同的名称。