我是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)),
)
我花了很多时间找出解决方案,发现这个问题已被多次询问,所以尝试了这些解决方案,但没有一个能为我工作。
我无法找到我在这里缺少的东西,所以请引起我的注意。
答案 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中进行测试
请下载工作" 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)
清单:
>>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/ 投票 应该添加到网址中。