Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django ListView页面和链接_Django_Url_Django Urls - Fatal编程技术网

Django ListView页面和链接

Django ListView页面和链接,django,url,django-urls,Django,Url,Django Urls,我正在使用DjangoListView和pagination来组织我的博客文章。我还为每个帖子设置了一个slug,但是一旦帖子进入第2+页,点击页面上的帖子链接就会将页码添加到url中。例如: 点击第1页的链接:www.foo.com/myslug 点击第x页(不是第1页)上的链接:www.foo.com/x/myslug 我怎样才能确保点击链接会进入帖子的url?我是这样设置的: HTML扩展名 {% block content %} {% for post in object_lis

我正在使用Django
ListView
pagination
来组织我的博客文章。我还为每个帖子设置了一个slug,但是一旦帖子进入第2+页,点击页面上的帖子链接就会将页码添加到url中。例如:

点击第1页的链接:
www.foo.com/myslug

点击第x页(不是第1页)上的链接:
www.foo.com/x/myslug

我怎样才能确保点击链接会进入帖子的url?我是这样设置的:

HTML扩展名

{% block content %}
    {% for post in object_list %}
    ...
    <h4><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h4>
    ...
    </div>
    {% endfor %}

    {% if page_obj.has_previous %}
    <a id='newer' href="/{{ page_obj.previous_page_number }}/">← Newer &nbsp;</a>
    {% endif %}
    <span id='pages' class="text-muted">Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}</span>
    {% if page_obj.has_next %}
    <a id='older' href="/{{ page_obj.next_page_number }}/">&nbsp; Older →</a>
    {% endif %}

{% endblock %}
{%block content%}
{%用于对象中的post_列表%}
...
...
{%endfor%}
{%如果页面_obj.has_previous%}
{%endif%}
第{{Page_obj.paginator.num_pages}页中的{{{Page_obj.number}}
{%如果页面_obj.has_next%}
{%endif%}
{%endblock%}
URL

urlpatterns = patterns('',
# index
url(r'^(?P<page>\d+)?/?$', ListView.as_view(
    model=Post,
    paginate_by=5,
    )),
# individual posts
url(r'^(?P<slug>[a-zA-Z0-9-]+)/?$', DetailView.as_view(model=Post,
    )),
)
urlpatterns=patterns(“”,
#索引
url(r'^(?P\d+?/?$),ListView.as_视图(
模型=员额,
分页单位=5,
)),
#个别职位
url(r'^(?P[a-zA-Z0-9-]+)/?$,详细视图。如图所示(模型=Post,
)),
)

这是因为get\u absolute\u url的定义不正确。您应该重写该方法以返回该帖子url。根据您的代码:

def get_absolute_url(self):
    return "/%s/" % self.slug

为什么不为页码使用querystring变量,并将其排除在URL路由之外?谢谢!我完全忘记了正斜杠