我如何覆盖 django contrib 评论模板?
我正在使用的 django contrib 评论表单:
{% 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 Web 项目,那么我将如何编辑 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
。
谁能提供一些想法来解决这个问题?我已经搜索了很多来解决这个问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需在项目的“templates”目录中覆盖它:
它似乎没有在评论应用程序或 Django 的通用模板文档中得到很好的记录,但它的工作方式与 覆盖管理模板(已记录)。
Just override it in your project's "templates" directory:
It doesn't seem to be well documented in either the comments app or Django's general template documentation, but it works the same as overriding admin templates (which is documented).