1

テンプレートに次のコマンド フォームを挿入しました。

{% 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 %}

IDまたはクラスなしでテキストエリアのみを表示する{{form.comment}}のスタイルを変更する最良の方法は何かアドバイスできますか。{{form.comment}} はライブラリで定義されているため、そのスタイルを変更するための直接アクセスはありません。

4

1 に答える 1

2

私が持っていて本当に便利だと思ったプロジェクトで、これとまったく同じ問題に遭遇しましdjango-widget-tweaksた。

このライブラリを使用すると、次の方法でフィルターを介してテンプレートからフォームのウィジェットのクラスを変更できます。

{% load widget_tweaks %}
{{ form.comment|add_class:"comment-style"}}

comment-styleこれには、ウィジェットへの class= が含まれます。form.commentこれは、テンプレート内のフォームの個々のフィールドのスタイルを分離する優れた方法です。

属性に加えclassて、プロジェクトの Web サイトで見られるように、さらに個別の変更を行うこともできます。

お役に立てれば!

于 2013-05-26T01:03:13.837 に答える