Ken*_*yer 3 python django exception django-templates django-comments
我想简单地使用Django的内置注释模块在模板中呈现内置注释表单,但这会返回TemplateSyntaxError异常.
我需要帮助调试此错误,因为在谷歌搜索和使用Django API参考后,我仍然没有得到任何更远.
信息:
这是模板'_post.html'[缩短]:
<div id="post_{{ object.id }}">
<h2>
<a href="{% url post object.id %}">{{ object.title }}</a>
<small>{{ object.pub_date|timesince }} ago</small>
</h2>
{{ object.body }}
{% load comments %}
{% get_comment_count for object as comment_count %}
<p>{{ comment_count }}</p>
<!-- Returns 0, because no comments available -->
{% render_comment_form for object %}
<!-- Returns TemplateSyntaxError -->
Run Code Online (Sandbox Code Playgroud)
这是渲染时的异常输出:
Caught an exception while rendering: Reverse for 'django.contrib.comments.views.comments.post_comment'
with arguments '()' and keyword arguments '{}' not found.1
{% load comments i18n %}
<form action="{% comment_form_target %}" method="post">
{% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}
{% for field in form %}
{% if field.is_hidden %}
{{ field }}
{% else %}
{% 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 }}
Run Code Online (Sandbox Code Playgroud)
/posts/urls.py[shortened]:
queryset = {'queryset': Post.objects.all(),
'extra_context' : {"tags" : get_tags}
}
urlpatterns = patterns('django.views.generic.list_detail',
url('^$', 'object_list', queryset,
name='posts'),
url('^blog/(?P<object_id>\d+)/$', 'object_detail', queryset,
name='post'),
)
Run Code Online (Sandbox Code Playgroud)
/urls.py[shortened]:
urlpatterns = patterns('',
(r'', include('posts.urls')),
(r'^comments/$', include('django.contrib.comments.urls')),
)
Run Code Online (Sandbox Code Playgroud)
小智 6
我有同样的问题,render_comment_form模板标签正在触发它.
问题肯定在于您的URL配置,您设置的方式与我的设置相同:
(r'^comments/$', include('django.contrib.comments.urls'))
Run Code Online (Sandbox Code Playgroud)
正确的方法是在'comments /'之后删除'$':
(r'^comments/', include('django.contrib.comments.urls'))
Run Code Online (Sandbox Code Playgroud)
否则django无法在路径评论/ ...下正确包含所有必要的URL
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |