Django ModelForm的使用是否正确

Django ModelForm的使用是否正确,django,django-forms,django-templates,Django,Django Forms,Django Templates,我的问题;我使用的是ModelForm而不是forms.Form,我想在html文件而不是forms.py文件中组织表单(我不想使用attr标记,因为我的Form.html文件非常复杂),这种用法正确吗 forms.py class CommentForm(forms.ModelForm): class Meta: model=Comment fields=[ 'name', 'email',

我的问题;我使用的是ModelForm而不是forms.Form,我想在html文件而不是forms.py文件中组织表单(我不想使用attr标记,因为我的Form.html文件非常复杂),这种用法正确吗

forms.py

 class CommentForm(forms.ModelForm):
    class Meta:
        model=Comment
        fields=[
            'name',
            'email',
            'comment',
        ]
html文件

<form class="post-comment-form" method="POST">
      {% csrf_token %}
      {% if form.errors %}
          {% for error in form.non_field_errors %}
              {{ error }}
          {% endfor %}
  {% endif %}

<div class="form-row">              
  <div class="form-item half blue">
    <label for="id_name"  class="rl-label" >Name</label>
    {{ form.name}}
  </div>

  <div class="form-item half blue">
    <label for="id_email" class="rl-label" >Email</label>
    {{ form.email}}
  </div>              
</div>

<div class="form-row">             
  <div class="form-item blue">
    <label for="id_comment"  class="rl-label">Comment</label>
    {{ form.comment }}
  </div>
</div>

<button type="submit" class="save-button">Submit</button>

{%csrf_令牌%}
{%if form.errors%}
{%表示表单中的错误。非\u字段\u错误%}
{{error}}
{%endfor%}
{%endif%}
名称
{{form.name}
电子邮件
{{form.email}
议论
{{form.comment}}
提交

在html上,您可以有如下内容

{% csrf_token %}
{{ form.as_p }}

然后继续进行样式设置,或者更好的是,您可以使用
{%crispy%}
哪个个人我觉得很好基于您想要归档的内容,您的forms.py看起来还可以

如果您不想使用
{{{form}
,则必须为每个模型的字段提供输入字段,例如

 <div class="form-row">              
      <div class="form-item half blue">
        <label for="id_name"  class="rl-label" >Name</label>
        **<input type="text" name = "name">**
      </div>

      <div class="form-item half blue">
        <label for="id_email" class="rl-label" >Email</label>
        <input type="text" name = "email">
      </div>              
    </div>

    <div class="form-row">             
      <div class="form-item blue">
        <label for="id_comment"  class="rl-label">Comment</label>
        <input type="text" name = "comment">
      </div>
    </div>

    <button type="submit" class="save-button">Submit</button>

名称
****
电子邮件
议论
提交

我不想使用{form},因为我有嵌套类。我可以使用“{form.name}}”而不是“”