我在项目中使用Django EL(Endless) Pagination库滚动分页。
默认情况下show_more
标记显示loading
字词。我想要自定义它。我使用下一个代码,但它工作不正确。它向我展示了9个图标,最后不会消失。我有点困惑。如何解决?
settings.py:
EL_PAGINATION_LOADING = """<i class='fa fa-cog fa-spin fa-3x fa-fw text-info text-justify endless_loading'>"""
当前解决方案:
我找到了可行的解决方案,但我不确定这是最好和最明确的方法。
custom_tags.py:
from django import template
from django.utils.encoding import iri_to_uri
from el_pagination import (settings, utils)
register = template.Library()
@register.inclusion_tag('documents/show_more_info.html', takes_context=True)
def show_more_info(context, label=None, loading=settings.LOADING, class_name=None):
data = utils.get_data_from_context(context)
page = data['page']
if page.has_next():
request = context['request']
page_number = page.next_page_number()
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,
}
return {}
文件/ show_more_info.html:
{% load i18n %}
{% if querystring %}
<div class="endless_container">
<a class="endless_more{% if class_name %} {{ class_name }}{% endif %}" href="{{ path }}{{ querystring }}" data-el-querystring-key="{{ querystring_key }}">
{% if label %}{{ label|safe }}{% else %}{% trans "more" %}{% endif %}
</a>
<div class="endless_loading" style="display: none;">
<div class="alert alert-info infinite-loading text-center">
<i class="fa fa-cog fa-spin fa-3x fa-fw" aria-hidden="true"></i>
</div>
</div>
</div>
{% endif %}
最后,我可以使用show_more_info
代码而不是默认show_me
代码。