当前网址app /与其中任何一个都不匹配

时间:2015-12-11 10:11:32

标签: python django python-3.x django-urls django-1.10

我是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'),
)

这是root中的urls.py:

  

的mysite / 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)),
)

我花了很多时间找出解决方案,发现这个问题已被多次询问,所以尝试了这些解决方案,但没有一个能为我工作。

我无法找到我在这里缺少的东西,所以请引起我的注意。

9 个答案:

答案 0 :(得分:16)

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

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

作为一般建议,请安装最新版本,目前为1.9。不要使用1.10,正在开发中。确保您遵循tutorial for 1.9,因为教程会针对不同版本进行更改。例如,您的mysite/urls.py与1.9的教程不匹配,因为urlpatterns应该是:

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

答案 1 :(得分:6)

settings.py中,您的设置名称为INSTALLED_APPS -

向您添加应用,即polls

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    ....
    'polls',
]

答案 2 :(得分:2)

django中的新功能需要新的解决方案......

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

from polls.views import urls

urlpatterns = [
    ...
    url(r'^polls/$', urls),
] 

在您的浏览器中输入,在django 1.10中进行测试

http://localhost:8000/polls/

请下载工作" HelloWorld" django 1.10中的例子

https://mega.nz/#!qFsgBbRD!lAKKprkMLmhJcaZ8h5NPxkZcfQpB8qrh1nU4rSSaRAo

答案 3 :(得分:1)

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

http://127.0.0.1:8000/home

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

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

from home import views

然后写

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

它会将视图设置为默认页面

http://127.0.0.1:8000/

当您输入此内容时,它会重定向到您的观看次数。

答案 4 :(得分:1)

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

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

如果看起来好像Django“忽略”你的 urls.py - 尝试删除所有内容,重新创建虚拟环境,激活它并在之后重新安装Django。

希望这有帮助。

答案 5 :(得分: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

答案 6 :(得分:0)

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

由于这个问题对很多人来说很常见,我建议django教程文档应该更明确。

我希望这有助于某人。

答案 7 :(得分:0)

如果@Alasdair回答不起作用,看来你正在处理正确的文件,只需重新启动你的服务器

答案 8 :(得分:0)

清单:

  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退出服务器。

2。打开运行cmd的浏览器,http://127.0.0.1:8000/ 投票 应该添加到网址中。