13

我是 Django 的新手,前一天通过在本地安装 Django 1.10 才开始研究它。

我已按照此链接https://docs.djangoproject.com/en/dev/intro/tutorial01/的所有说明进行操作。但是我不断收到此错误:

Page not found (404) Request Method:    GET Request URL:    http://127.0.0.1:8000/polls/

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:

    ^admin/

The current URL, polls/, didn't match any of these.

我已经创建了民意调查应用程序以开始使用。

首先,我使用 view.py,代码如下:

民意调查/views.py

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello World!")

这是我的 urls.py 代码:

民意调查/urls.py

from django.conf.urls import patterns, url

from . import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
)

这是根目录下的 urls.py:

我的网站/urls.py

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

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

我花了很多时间来找出解决方案,发现这个问题已经被问了很多次,所以也尝试了这些解决方案,但没有一个对我有用。

我找不到我在这里缺少的东西,所以请注意这个差距。

4

10 回答 10

28

我认为您在尝试更改根 url 配置时编辑了错误的文件。

mysite/mysite/urls.py确保您在(包含 的目录settings.py)而不是mysite/urls.py(包含 的目录)中编辑根 url 配置manage.py

作为一般建议,安装最新版本,当前为 1.9。不要使用正在开发的 1.10。确保您遵循1.9 的教程,因为不同版本的教程会有所不同。例如,您mysite/urls.py与 1.9 的教程不匹配,urlpatterns应该是:

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]
于 2015-12-11T10:26:36.030 回答
7

settings.py您有一个设置名称 INSTALLED_APPS-

将您的应用程序添加polls到它。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    ....
    'polls',
]
于 2015-12-11T10:18:00.880 回答
1

它正在工作。转到您的网址栏并输入您的应用名称:

http://127.0.0.1:8000/home

我的应用名称是 home。它会起作用的。

如果您想将您的应用设置为默认页面,请从您的应用中导入视图。

from home import views

然后写

url(r'^$', views.index),

里面。

它将视图设置为您的默认页面

http://127.0.0.1:8000/

当您键入此内容时,它将重定向到您的视图。

于 2017-01-23T07:50:08.347 回答
1

我遇到了与描述相同的问题。运行 Windows 机器。

事实证明,我使用的虚拟环境没有正确配置(或者我可能在安装 Django 之前忘记激活它),并且 CMD.EXE 从错误的路径中获取了解释器和 django-admin。

如果 Django 似乎“忽略”了您的urls.py - 尝试删除所有内容,重新创建虚拟环境,激活它并在之后重新安装 Django。

于 2017-09-04T16:09:19.540 回答
1

更改 mysite/url

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

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

然后运行你的服务器并访问 127.0.0.1/8000。这应该带您到您网站的索引。

或者您保留代码原样并在浏览器上运行 127.0.0.1/8000/polls

于 2017-11-28T14:34:58.173 回答
0

通过官方文档教程,我也遇到了同样的问题。我使用的是 cloud 9。在我能够解决这个问题之前我意识到的是,在创建工作区时我已经选择了 django(即在创建工作区时,django 已经安装)并且通过教程,我再次执行$ django-admin startproject mysite,从而拥有另一层具有多个目录的 django,不可避免地会造成混淆。我的解决方案是删除所有内容并重新开始。

于 2016-10-17T17:18:22.177 回答
0

如果@Alasdair 的答案不起作用,并且您似乎在处理正确的文件,只需重新启动服务器

于 2017-01-12T07:58:11.367 回答
0

Django 2.2 中的路径不支持正则表达式,我用的是path('(?P<id>\d+)/share/', views.mail_send_view),,所以报错,现在改成这个, path('<int:id>/share/', views.mail_send_view)。现在没有收到任何错误。更多信息请关注 django 的官方文档。

于 2021-10-07T11:22:30.193 回答
0

确保你有path("admin/", admin.site.urls)你的主要网址设置。

于 2022-01-16T16:52:49.120 回答
-1

清单:

  1. 确保运行服务器
>>python manage.py runserver

使用 StatReloader 监视文件更改
执行系统检查...
系统检查未发现任何问题(0 静音)。
2020 年 2 月 1 日 - 15:04:46
Django 版本 3.0.2,使用设置 'corona.settings'在http://127.0.0.1:8000/
启动开发服务器 使用 CTRL-BREAK 退出服务器。

  1. 运行 cmd 打开浏览器, http: //127.0.0.1 :8000/ 应该将投票添加到 url。
于 2020-02-01T09:52:20.140 回答