我已将以下命令表单插入到我的模板中:
{% if user.is_authenticated %}
{% get_comment_form for object as form %}
<form action="{% comment_form_target %}" method="POST">
{% csrf_token %}
{{ form.comment }}
{{ form.honeypot }}
{{ form.content_type }}
{{ form.object_pk }}
{{ form.timestamp }}
{{ form.security_hash }}
<input type="hidden" name="next" value="{% url 'object_detail_view' object.id %}" />
<input type="submit" value="Add comment" id="id_submit" />
</form>
{% else %}
<p>Please <a href="{% url 'auth_login' %}">log in</a> to leave a comment.</p>
{% endif %}
有人可以建议{{form.comment}}的最佳改变方式是什么,它只显示带有id或类的textarea。 {{form.comment}}在库中定义,因此无法直接访问以更改其样式。
答案 0 :(得分:2)
我在一个项目中遇到了同样的问题,发现真的有用django-widget-tweaks
。
此库允许您通过以下方式过滤模板来修改表单小部件的类:
{% load widget_tweaks %}
{{ form.comment|add_class:"comment-style"}}
包括class comment-style
到form.comment
窗口小部件,这是一种很好的解耦方式,可以在模板中为表单中的各个字段设置样式。
除class
属性外,它还允许您进行更多个别修改,如您在项目网站中所见。
希望这有帮助!