from django.conf.urls.defaults import *
from django.conf import settings
urlpatterns = patterns('',
(r'^$', include('preview_signup.urls')),
)
在我的preview_signup模块(django app)中,我有以下urls.py文件:
from django.conf.urls.defaults import *
urlpatterns = patterns('django.views.generic.simple',
(r'^thanks/$', 'direct_to_template', {'template': 'thankyou.html'})
)
当我转到http://localhost:8000/thanks/时,上面的urls.py不起作用。但如果改变了这个:
from django.conf.urls.defaults import *
urlpatterns = patterns('django.views.generic.simple',
(r'^$', 'direct_to_template', {'template': 'thankyou.html'})
)
我去http://localhost:8000/它运作正常。
我做错了什么?
答案 0 :(得分:3)
此代码应该有效:
urlpatterns = patterns('',
(r'^', include('preview_signup.urls')),
)
$(行尾)刚删除。
答案 1 :(得分:1)
当出现问题时(或者即使没有),请仔细阅读django docs。以下是上述链接的摘录:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^weblog/', include('django_website.apps.blog.urls.blog')),
(r'^documentation/', include('django_website.apps.docs.urls.docs')),
(r'^comments/', include('django.contrib.comments.urls')),
)
请注意正则表达式 这个例子没有$ (字符串结尾匹配字符)但是 包括一个斜杠。每当 Django遇到include(),它会发生错误 关闭匹配的URL的任何部分 直到那一点并发送 保留字符串到包含的 URLconf用于进一步处理。