2015-12-23 49 views
0

說我有一個博客類型的應用程序,我希望所有的URL請求/博客被重定向到/博客/ 1 /做分頁的目的...Django正確的方式來重定向URL?

我會做的url像這樣正確的...

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

當然的redirect_to_main函數只返回一個重定向的URL /博客/ 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> 

回答

2

首先,替換

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

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

而在你的方法main_page的參數,設置默認頁面參數設置爲1,以便在沒有給出page參數時,它將是1

+0

是的,這是我原來的想法,但在模板中,我無法弄清楚如何協調我的鏈接,因爲如果模板中的鏈接應該包括博客/ 1 /或博客/ – deltaskelta

+0

你能發佈你的模板文件嗎? – starkshang

+0

從中發佈了一個實例 – deltaskelta