Django 模板 : change id for form in the for loop

标签 django django-forms

我有一个模型和表格如下

class Comment(models.Model):
    post = models.ForeignKey('Post', related_name='comments',on_delete=models.CASCADE,)
    author = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(default=timezone.now)
    slug = models.SlugField(unique=True, default=uuid.uuid4)

class CommentForm(forms.ModelForm):

    class Meta:
        model = models.Comment
        fields = ('text',)

        widgets = {
            'text': forms.TextInput(attrs={
                'id': 'comment-text',
                'required': True,
                'placeholder': 'Say something...'}),
        }

在 Django 模板中,我想在 for 循环中多次使用此形式,但每次迭代我想更改循环中文本的 id。目前我正在使用下面的代码

{% for post in post_queryset %}
   {% csrf_token %}
   {% bootstrap_form formComment %}
{% endfor %}

有人可以帮我更改代码,以便 id 每次在循环中都会更改。

最佳答案

我会改变周围的元素并通过该元素来定位它们。我正在使用 forloop variable给您购买模板标签用于。但是您可以使用 post 属性,但我不知道您的模型是什么样的。

{% for post in post_queryset %}
    {% csrf_token %}
    <div id="post-{ forloop.counter }">    
        {% bootstrap_form formComment %}
    </div>
{% endfor %}

关于Django 模板 : change id for form in the for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58574761/

相关文章:

django - 对象不可迭代

Django表单验证: get child form data in parent

python - 搜索问题并显示报告

Django - 复选框数组

python - 基于多种模型的Django Form

django - 用于 Django 开发的 Python 2.7 与 Python 3.3

Django 管理表单和带默认值的内联模型

python - Django 图像表单不保存图像

python - Django Rest Framework 无效序列化

django - 在django中删除带有表单的对象