django中URLconf中的错误 - 配置不正确

时间:2014-04-07 19:57:16

标签: django django-urls

我想从主页r'^$'的项目网址重定向到我的应用网址。 我跟着这个link。但它没有帮助。 这是我项目的urls.py

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', redirect('home')),
    url(r'^link/', include('link_app.urls')),
    )

这是我的应用链接的urls.py

urlpatterns=patterns('',
url(r'^$', LinkListView.as_view(), name='home'),
)

所以基本上我的目标是 <{1}}和http://127.0.0.1:8000/由同一视图处理。

我收到以下错误:

http://127.0.0.1:8000/link/

4 个答案:

答案 0 :(得分:1)

更改项目urls.py文件以修改

from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^/$',RedirectView.as_view(url=reverse_lazy('home'))),
url(r'^link/$', LinkedListView.as_view(), name='home'),

该解决方案假设您的链接应用只有一个网址, 对于您应用中的多个网址,请尝试将名称属性添加到网址(r'^ link / $')

答案 1 :(得分:0)

如果要处理网址的视图是link_app内的视图,请执行以下操作:

项目的

urls.py

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('link_app.urls')),
    )
link_app

urls.py

urlpatterns=patterns('',
url(r'/$', LinkListView.as_view(), name='home'),
url(r'link/$', LinkListView.as_view(), name='home_link'),
)

请告诉我这是否适合您

答案 2 :(得分:0)

只需在管理网址后面加上link_app.urls,并使用正则表达式r'^'

然后在link_app.urls中使用以下模式来调用相同的视图:

urlpatterns=patterns('',
    url(r'^$', LinkListView.as_view(), name='home'),
    url(r'^link/$', LinkListView.as_view(), name='link'),
)

答案 3 :(得分:0)

您在page you linked to上选择了错误的答案。您无法在网址格式中使用redirect快捷方式,因为它不是视图。使用RedirectView是正确的方法。