Как я могу переопределить шаблон комментариев django contrib? - PullRequest
0 голосов
/ 31 января 2012

Форма комментариев в django, которую я использую:

{% get_comment_form for post as form %}
<form action="{% comment_form_target %}" method="post">{% csrf_token %}
    {% if next %}
        <div><input type="hidden" name="next" value="{{ next }}" /></div>
    {% endif %}
    {% for field in form %}
        {% if field.is_hidden %}
            <div>{{ field }}</div>
        {% else %}
            {% if field.name == 'comment' %}
            {% if field.errors %}{{ field.errors }}{% endif %}
            <p
                {% if field.errors %} class="error"{% endif %}
                {% ifequal field.name "honeypot" %} style="display:none;"{% endifequal %}>
                {{ field.label_tag }} {{ field }}
            </p>
            {% endif %}             
        {% endif %}
    {% endfor %}
    <p class="submit">
        <input type="submit" name="post" class="submit-post" value="{% trans "Post" %}" />
    </p>
</form>

После отправки формы она перенаправляет на http://127.0.0.1:8000/comments/posted/?c=..

Это означает, что она вызывает шаблон django/contrib/comments/templates/comments/posted.html

Содержимое django/contrib/comments/templates/comments/posted.html:

{% extends "comments/base.html" %}
{% load i18n %}

{% block title %}{% trans "Thanks for commenting" %}.{% endblock %}

{% block content %}
<h1>{% trans "Thank you for your comment" %}.</h1>
{% endblock %}

Это не расширяет base.html моего проекта.

Мне нужно настроить / переопределить этот шаблон, чтобы он расширял мойbase.html проекта.Как я могу это сделать?

Если я не могу этого сделать, то если я загружу свой веб-проект django на сервер, то как мне отредактировать содержимое django/contrib/comments/templates/comments/posted.html, чтобы оно выглядело так:

{% extends "path/to/myproject/templates/base.html" %}
{% load i18n %}

{% block title %}{% trans "Thanks for commenting" %}.{% endblock %}

{% block content %}
<h1>{% trans "Thank you for your comment" %}.</h1>
{% endblock %}

На локальном ПК за это время я изменил / отредактировал содержание django/contrib/comments/templates/comments/posted.html, жестко запрограммированное для расширения моего проекта base.html.

Может кто-нибудь дать какую-нибудь идею, чтобы решить эту проблему?Я много искал, чтобы решить эту проблему.

1 Ответ

8 голосов
/ 31 января 2012

Просто переопределите его в каталоге шаблонов вашего проекта:

<project_root>/templates/comments/posted.html

Похоже, что он недостаточно хорошо документирован ни в приложении комментариев, ни в общей документации шаблонов Django, но работает так же, как переопределение шаблонов администратора (что задокументировано).

...