如何在django templales中使用名称空间而不是硬编码的URL来进行分页

时间:2016-03-07 07:12:22

标签: python django pagination

我是django的新手,我有django模板,其中我添加了以下代码用于分页。你可以看到我已经应用硬编码网址进行分页。但我不想要要使用硬编码网址,我想使用命名空间而不是硬编码网址。我可以这样做吗。

模板:

<span class="page-links">
                        {% if page_obj.has_previous %}
                            {% if query_string %}
                                <a href="/dash/{{ point.id }}/full/combination/?page={{ page_obj.previous_page_number }}&{{ query_string }}">previous</a>
                            {% else %}
                                <a href="/dash/{{ point.id }}/full/combination/?page={{ page_obj.previous_page_number }}">previous</a>
                            {% endif %}
                        {% endif %}
</span>

我的网址:

url(r'^(?P<chain_pk>[0-9]+)/full/combination/$',
    CombinationSearchList.as_view(), name='dash_combination_search_list'),

更新

我的django版本是1.6

1 个答案:

答案 0 :(得分:1)

<span class="page-links">
    {% if page_obj.has_previous %}
        {% if query_string %}
            <a href="{% url 'dash_combination_search_list' point.id %}?page={{ page_obj.previous_page_number }}&{{ query_string }}">previous</a>
        {% else %}
            <a href="{% url 'dash_combination_search_list' point.id %}?page={{ page_obj.previous_page_number }}">previous</a>
        {% endif %}
    {% endif %}
</span>

请注意,我在网址上使用point.id为您提供硬编码网址中point.id的值。这可以是任何其他变量,例如object.pkobject.id或任何其他上下文变量。如果使用页面的视图代码再次发布不清楚,我可以提供帮助。