我的自定义模板标签存在问题,不尊重传递的上下文变量。因此,我有一个名为task_list.html
的模板,其中包括引用我的自定义模板标签(paginator.html
)的{% url_replace %}
:
task_list.html
:
...
{% include 'paginator.html' with page_obj=tasks_tomorrow page='page_tomorrow' %}
...
paginator.html
:
...
<a class="page-link" href="?{% url_replace page=page_obj.paginator.num_pages %}"
...
但是,构造的URL是http://127.0.0.1:8000/todo/?page=2
,而不是http://127.0.0.1:8000/todo/?page_tomorrow=2
。
这是我的模板标签:
from django.utils.http import urlencode
from django import template
register = template.Library()
@register.simple_tag(takes_context=True)
def url_replace(context, **kwargs):
query = context['request'].GET.dict()
query.update(kwargs)
return urlencode(query)
这是什么问题?