Django 渲染form 表单的一个错误

      由于后端用的是ModelForm, 前端又想自己字义写得好看点,但是实际情况看发现每次用自定义的html后都导致了form.is_valid()为False, 所以每次表单提交后都会失败。困扰了一天多,断断续续,没找到原因就接着看书了,一直以为是自己不知道form在html中渲染有哪些字段可以用的锅,实则是因为自己粗心大意,忘记写input标签的name属性,最后在刘大的博客中看到这个字段时才想起来。(http://www.liujiangblog.com/course/django/152  循环表单的字段,标明了有哪些属性可以用)

自己加上name属性后的代码(能正常工作):

<div>
    <form class="form-horizontal" action="{% url 'comments:article_comment' article_detail.pk %}" method="post">
        {% csrf_token %}
        {% for field in form %}
            <div class="form-group">
                <label for="{{ field.id_for_label }}" class="col-sm-1 control-label">{{ field.label }}</label>
                <div class="col-sm-11">
                    <input type="text" class="form-control" name="{{ field.html_name }}"
                           placeholder="{{ field.label }}">
                </div>
            </div>
        {% endfor %}
        <div class="form-group">
            <div class="col-sm-offset-1 col-sm-11">
                <button type="submit" class="btn btn-success pull-right">Submit</button>
            </div>
        </div>
    </form>
</div>

 

上一篇:Django simple tag不生效 与模板继承

下一篇:生成文章摘要的两种方式