【问题标题】:Using the URLconf defined in SchoolnSkill.urls, Django tried these URL patterns, in this order:使用 SchoolnSkill.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
【发布时间】:2017-10-31 15:00:55
【问题描述】:

好的,这是 Django 人面临的一个非常普遍的问题,互联网上已经有几篇文章可以找到,但没有一篇对我有帮助。我明白我需要在我的“apps/url”中创建自己的 URLPatterns,并且我已经创建了一个。以下是我的项目“schoolnskill/url”中的 URLPatterns:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^user_info/', include('user_info.urls', namespace='user_info')),

]

以下是我的应用程序 user_info/url 中的 url 模式

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^user_info/index/$', views.IndexView.as_view(), name='index'),
    url(r'^user_info/register/$', views.RegisterView.as_view(), name='sign_up'),
    url(r'^register/$', views.UserFormView.as_view(), name='register'),

]

即使我已将“user_info/index”添加到我的 URL 模式中,我仍然收到错误。

下面是整个错误堆栈:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/user_info/index/
Using the URLconf defined in SchoolnSkill.urls, Django tried these URL patterns, in this order:
^admin/
^user_info/ ^user_info/index/$ [name='index']
^user_info/ ^user_info/register/$ [name='sign_up']
^user_info/ ^register/$ [name='register']
The current path, user_info/index/, didn't match any of these

我的 Python 环境详情:

Python - 3.6
Django - 1.11.3
IDE - Spyder 3.2.4

删除“user_info”后出现新错误

Exception Type: ImproperlyConfigured
Exception Value:    
IndexView is missing a QuerySet. Define IndexView.model, IndexView.queryset, or override IndexView.get_queryset()

【问题讨论】:

  • 您只需要在 /urls.py 中导入其他 url,您不需要在所有 urls.py 中导入。
  • @sandeep,根据我的理解,/urls.py 只是提供指向我的应用程序中可用的 url 的链接,我需要在我的“应用程序/”插入我所有的网址。由于“注册”对我有用,所以我必须对“索引”部分做错事

标签: python django


【解决方案1】:

当您在根 url 配置中使用 include() 时,您已经拥有 user_info/

因此,您应该将其从 user_info/urls.py 中删除。

urlpatterns = [
    url(r'^index/$', views.IndexView.as_view(), name='index'),
    url(r'^register/$', views.RegisterView.as_view(), name='sign_up'),
    # this url pattern now clashes with the one above, so you need to change it if you need both
    url(r'^register/$', views.UserFormView.as_view(), name='register'),
]  

【讨论】:

  • @user3521180 “不工作”信息不足以提供帮助。
  • 我给出了我所面临的错误。我从“user_info/index”中删除了“user_info”,现在错误不同了,并添加到我的主查询中
  • 正如错误所说,您需要为索引视图设置模型或查询集,例如views.IndexView.as_view(model=MyModel)。如果您仍然卡住,请提出一个新问题,因为这是一个完全不同的问题。您需要指定索引视图显示的内容。
  • 好的,因为我知道我的索引页仍然是空白的并且里面没有任何内容,所以我可能会遇到这个错误,我已经完成了这个查询,因为我得到了我想要的
【解决方案2】:

可能是您没有从您的 user_info 应用中导入 urlpatterns 吗?

在你的 schoolnskill urls.py 文件的顶部写

from project_name.user_info import urlpatterns

然后在你的 url 中包含语句写入:

url(r'^user_info/', include(urlpatterns))

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2017-06-26
    • 2020-05-05
    • 2021-04-13
    • 2021-02-14
    • 2018-06-28
    • 2020-08-02
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多