Django - 如何将URLconf与apps文件夹一起使用?

时间:2010-12-27 16:14:27

标签: python django urlconf

我正在关注Django网站上的教程,但我正在努力扩展它。我喜欢将所有应用程序放在“apps”文件夹中的组织方案。我正在试图找出包含urls.py的正确方法,以便将所有内容链接在一起。

这是我的根urls.py:

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/', include('apps.polls.urls')),
    (r'^admin/', include(admin.site.urls)),
)

这是我的urls.py at apps / polls / urls.py:

from django.conf.urls.defaults import *

urlpatterns=patterns('polls.views',
    (r'^polls/$', 'index'),
    (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
    (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
    (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
)

这样做的正确方法是什么?谢谢!

3 个答案:

答案 0 :(得分:2)

您目前的方式设置...民意调查的网址将是:

http://your.url.here/polls/polls/235/results/

这可能不是你想要的。根urls.py文件中include中的urlpatterns函数指定"polls/"作为民意调查应用中所有urlpatterns的前缀。因此,在polls / urls.py文件中,您不应再次指定"polls/"前缀,因为它会导致重复的前缀。

答案 1 :(得分:0)

你是如何运行Django实例的?如果你在Apache中配置了多个vhost,那么/ apps中的每个Django实例都拥有它自己的urls.py。

答案 2 :(得分:0)

我这样做是为了工作:

urlpatterns=patterns('polls.views',
    (r'^$', 'index'),
    (r'^(?P<poll_id>\d+)/$', 'detail'),
    (r'^(?P<poll_id>\d+)/results/$', 'results'),
    (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)

我想民意调查部分是在根urlconf

中处理的