首页 > 解决方案 > django 模板标签缺少 1 个必需的位置参数:值

问题描述

在我的 django 项目中,我有自定义模板标签来在分页中设置正确的下一个链接:

@register.tag(name='url_replace')
def url_replace(request, field, value):
   print('this is form tag',request,field,value)
   d = request.GET.copy()
   d[field] = value
   return d.urlencode()

在我的模板中:

  {% if is_paginated %}
        <ul class="pagination pull-right">
          {% if page_obj.has_previous %}
            <li><a href="?{% url_replace request 'page' page_obj.previous_page_number %}">&laquo;</a></li>
          {% else %}
            <li class="disabled"><span>&laquo;</span></li>
          {% endif %}
          {% for i in paginator.page_range %}
            {% if page_obj.number == i %}
              <li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li>
            {% else %}
              <li><a href="?{% url_replace request 'page' i %}">{{ i }}</a></li>
            {% endif %}
          {% endfor %}
          {% if page_obj.has_next %}
            <li><a href="?{% url_replace request 'page' page_obj.next_page_number %}">&raquo;</a></li>
          {% else %}
            <li class="disabled"><span>&raquo;</span></li>
          {% endif %}
        </ul>
      {% endif %}

看起来一切都很好,但它向我显示错误

异常值:
url_replace() 缺少 1 个必需的位置参数:'value'

当我通过了所有三个参数时,我无法找出问题所在!

标签: djangopython-3.xdjango-templatesdjango-template-filterstemplatetags

解决方案



推荐阅读