2015-12-23 3 views
0

Скажем, у меня было приложение типа блога, и я хотел, чтобы все запросы URL в/блог будет перенаправлен/блог/1/для целей постраничной ...Django правильный способ перенаправления URL?

Я был бы правильным в этом URLs, как это ...

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 - как согласовать ссылки на шаблоны.

Это похоже на правильный путь?

EDIT (добавление пример ссылок шаблона):

<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

разместил exmaple из него – deltaskelta

Смежные вопросы