如何正确获取Django url?

时间:2010-04-29 01:02:04

标签: django url-routing

我已经设置了这样的网址映射:

(r'enroll/$', 'enroll')

在我的开发环境中,当我访问'/ enroll /'时,会使用此映射。

但是在生产环境中,Django应用程序位于'/ activity /'下,应该使用'/ activity / enroll /'。

请告诉我如何在这两种情况下获得正确的网址。

提前致谢。

2 个答案:

答案 0 :(得分:3)

django.core.urlresolvers.reverse(){% url %}可用于将视图引用或命名urlconf转换为适合输出的URL。

答案 1 :(得分:3)

我建议尽你所能让你的prod和dev尽可能相同,但如果不可能你可以在开发环境中使用单独的urlpatterns。

假设您设置了settings.DEBUG,请尝试以下操作:

extra_patterns = patterns('',
    (r'enroll/$', 'enroll'),
)

if settings.DEBUG:
    urlpatterns = patterns('', (r'^', include(extra_patterns)))
else:
    urlpatterns = patterns('', (r'^activity/', include(extra_patterns)))