Django正确的url重定向方式?

时间:2015-12-23 02:37:57

标签: django url-redirection

说我有一个博客类型的应用程序,我希望所有对/ blog的URL请求被重定向到/ blog / 1 /用于分页目的......

我这样做的网址是否正确......

url(r'^blog/$', 'blog.views.redirect_to_main'),
url(r'^blog/(?P<page>[\d]+)/$', 'blog.views.main_page'),

当然redirect_to_main函数只返回一个重定向url到/ blog / 1 /

我无法想到另一种方法,并在我的模板中保持一致的URL。理想情况下,我希望/ blog和/ blog / 1 /只是去同一个视图,但IDK如何协调模板链接。

这看起来是正确的吗?

编辑(添加模板链接的示例):

<div class='blog_sidebar_content'>
    <ul>
    {% for category in categories %}
        <a href='../../{{ category.slug }}'><li>{{ category }}</li></a>
        <ul>
            {% for subcategory in category.blogsubcategory_set.all %}
                <a href='../../{{ category.slug }}/{{ subcategory.slug }}'><li>{{ subcategory }}</li></a>
            {% endfor %}
    {% endfor %}
</div> 

1 个答案:

答案 0 :(得分:2)

首先,替换

url(r'^blog/$', 'blog.views.redirect_to_main'),

url(r'^blog/$', 'blog.views.main_page'),

在方法main_page的参数中,将默认页面参数设置为1,这样当没有给出page参数时,它将是1