【发布时间】: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 的链接,我需要在我的“应用程序/”插入我所有的网址。由于“注册”对我有用,所以我必须对“索引”部分做错事