这是我的评论查询集的模板代码:
{% block comments %}
{% load el_pagination_tags %}
{% paginate 10 comment_list %}
{% for i in comment_list %}
<div class='comment_div'>
<div class="left_comment_div">
<p>{{ i.comment_text }}</p>
</div>
</div>
{% include 'comment/comments.html' with comment_list=i.replies.all %}
</div>
{% endfor %}
{% show_more %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我正在使用django el pagination来实现ajax分页.在第3行,您可以看到我最初加载10条评论.使用这个包,{% show_more %} 我可以添加一个元素,当点击它时,将加载其余的注释.
但是,{% show_more %}当我添加时,这个元素因某种原因而消失{% include 'comment/comments.html' with comment_list=i.replies.all %}.对于上下文,此include标记显示for循环中当前注释的回复.
有没有人知道为什么这个包含标签会影响{% show_more %}元素?
编辑:下面是显示Github Source的相关代码show_more
el_pagination_tags.py
# show the template only if there is a next page
if page.has_next():
print('Has next') #doesn't print
request = context['request']
page_number = page.next_page_number()
# Generate the querystring.
querystring_key = data['querystring_key']
querystring = utils.get_querystring_for_page(
request, page_number, querystring_key,
default_number=data['default_number'])
return {
'label': label,
'loading': loading,
'class_name': class_name,
'path': iri_to_uri(data['override_path'] or request.path),
'querystring': querystring,
'querystring_key': querystring_key,
'request': request,
}
# No next page, nothing to see.
print('No next') #prints for every comment (e.g. 20 times when 20 comments)
return {}
Run Code Online (Sandbox Code Playgroud)
我是否可以更改上述代码中的某些内容以使其正常工作,或者进一步调试以帮助我找到有关该问题的更多信息?帮助赞赏.
if通过为我的标签添加一条语句来解决,include如下所示:
{% if i.replies.all %}
{% include 'comment/comments.html' with comment_list=i.replies.all %}
{% else %}
Run Code Online (Sandbox Code Playgroud)
仅当该评论有 1 个或多个回复时才添加包含标签。以前,如果没有回复,它会添加一个空查询集,从而导致代码错误。
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |