Шаблон Django: изменить идентификатор для формы в цикле for - PullRequest
1 голос
/ 27 октября 2019

У меня есть Модель и Форма, как показано ниже

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, но на каждой итерации я хочу изменить идентификатортекст в цикле. В настоящее время я использую приведенный ниже код

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

Может кто-нибудь помочь мне изменить код так, чтобы идентификатор менялся каждый раз в цикле.

1 Ответ

1 голос
/ 27 октября 2019

Я бы изменил окружающий элемент и нацелил их через него. Я использую переменную forloop , данную вам для покупки тега шаблона for. Но вы можете использовать атрибут post, но я не знаю, как выглядит ваша модель.

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