Вопросы о Django urls.py - PullRequest
       10

Вопросы о Django urls.py

0 голосов
/ 20 ноября 2011

По сути, я пишу программное обеспечение для блогов, используя Django / Python. В настоящее время у меня есть следующие файлы

urls.py:

from django.conf.urls.defaults import *

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^sovietware/', include('sovietware.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    (r'^', include('sovietware.blog.urls')),
    (r'^comments/', include('django.contrib.comments.urls')),
    (r'^admin/', include(admin.site.urls)),
)

Блог / urls.py:

from django.conf.urls.defaults import *
from models import Post

queryset    = {'queryset': Post.objects.order_by('-pub_date')}
urlpatterns = patterns('django.views.generic.list_detail',
    url('^$', 'object_list', queryset, name='posts'),
    url('^(?P<object_id>\d+)/$', 'object_detail', queryset, name='post'),
)

Мой вопрос ... В настоящее время это означает, что когда я нахожусь в / и я нажимаю на ссылку заголовка для записи в блоге, меня перенаправляют на / 1 / ... Я хочу, чтобы он перенаправлял на / blog / 1 / вместо этого - это то, что мне нужно редактировать в urls.py? Если да, что мне нужно добавить?

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Я не уверен, что ваш / url возвращает как данные, но если вы хотите, чтобы все шаблоны в вашем приложении блога начинались с "blog" в URL, вы можете добавить это к шаблону в корне urls.py при включении:

(r'^blog/', include('sovietware.blog.urls')),
0 голосов
/ 20 ноября 2011

В вашем основном urls.py переименуйте urlpatterns в base_urlpatterns.Затем внизу добавьте следующее:

urlpatterns = patterns('',
    '^', include(base_urlpatterns), # iff you wish to maintain the un-prefixed URLs too
    '^your_prefix/', include(base_urlpatterns),
)

Кредит: lallulli, комментируя djangosnippets

...