无法弄清楚为什么包含的网址不起作用。专案有1个我的应用程式。所以在myproject / mysite / urls.py中,我有:
urlpatterns = i18n_patterns('',
url(r'^admin/', include(admin.site.urls)),
......
url(r'^sub/', include('subscription.urls')),
url(r'^', include('cms.urls')),
)
然后在myproject / subscription / urls.py中:
from django.conf.urls import patterns, url
from .views import subscribe
urlpatterns = patterns(
url(r'^subscribe/', subscribe),
)
如果我尝试转到http://localhost:8000/lt/sub/subscribe/,它将显示404页(找不到页面)。可能是什么问题?
编辑:项目树:
myproject/
manage.py
media/
static/
subscription/
templates/
__init__.py
admin.py
forms.py
models.py
urls.py
views.py
mysite/
locale/
static/
templates/
__init__.py
settings.py
urls.py
wsgi.py
最佳答案
调用patterns()
函数时出错:
urlpatterns = patterns(
url(r'^subscribe/', subscribe),
)
patterns()
接受视图前缀作为第一个参数,如果您传递url()
实例,则不会将其用作url模式。如果您还有其他网址格式,则会给您一个错误,但是在这种情况下,patterns()
只会返回一个空列表。由于不建议使用
patterns()
,因此最好切换到新样式的url配置,并使用一个列表:urlpatterns = [
url(r'^subscribe/', subscribe),
]
否则,您必须将前缀作为第一个参数传递。由于实际上并没有使用前缀(您通过视图函数,而不是将导入位置作为字符串),因此通常为空字符串
''
。