配置不正确的 URLconf 中的错误



我想从主页的项目网址重定向到我的应用程序 URL,这是r'^$' .我点击了这个链接。但这并没有帮助。这是我项目的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'),
)

所以基本上我的目标是 http://127.0.0.1:8000/http://127.0.0.1:8000/link/由同一视图处理。

我收到以下错误:

ImproperlyConfigured at /
The included urlconf link_project.urls doesn't have any patterns in it
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.6
Exception Type: ImproperlyConfigured
Exception Value:    
The included urlconf link_project.urls doesn't have any patterns in it

更改项目 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'),

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

您在链接到的页面上选择了错误的答案。您不能在网址模式中使用redirect快捷方式,因为它不是视图。使用RedirectView是正确的方法。

如果要处理 url 的视图是 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'),
)

让我知道这是否适合您

只需在

带有正则表达式r'^'的管理员 url 之后立即包含您的link_app.urls

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

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

最新更新