【问题标题】:error in URLconf in django - improperly configureddjango 中的 URLconf 错误 - 配置不正确
【发布时间】:2014-05-20 06:03:17
【问题描述】:

我想从主页的项目 url 重定向到我的应用程序 URL,即 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'),
)

所以基本上我的目标是 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

【问题讨论】:

  • 再次使用随机词的代码突出显示。请停止。
  • 你的目录结构是什么?您的问题涉及link_app,但回溯表明问题出在link_project

标签: django django-urls


【解决方案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'),

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果您要处理 url 的视图是 link_app 内的视图,则执行以下操作:

      urls.py 您的项目:

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

      urls.py 你的link_app:

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

      如果这对你有用,请告诉我

      【讨论】:

        【解决方案4】:

        使用正则表达式 r'^' 将您的 link_app.urls 包含在管理员 URL 之后。

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

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

        【讨论】:

        • 拥有r'^' 甚至会将/accounts/ 或/register/ 重定向到link_app.urls,这是不正确的吧?
        • 是的,但是您的订购很重要,因此您可以先为此网址添加网址格式并将r'^' 放在最后一个位置。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 2011-08-26
        • 2016-03-11
        相关资源
        最近更新 更多