0

我目前正在尝试完成 Django 2.0 教程 Poll 应用程序。我正在使用 Django 版本 2.0.7 和 Python 3.7.0。我已经为这个项目建立了一个虚拟环境。我对 Django 很陌生,如果我的术语不正确,我深表歉意。

基本上,我无法让第 1 部分工作。

我已经尝试过无数次运行它,但我似乎无法弄清楚它为什么不起作用。

在我创建 Polls 应用程序之前,站点运行正常,我得到了火箭飞船,但是在我创建应用程序后,更新 polls/views.py,创建 polls/urls.py 文件并更新 mysite/urls.py,我得到了以下错误:

找不到页面 (404) 请求方法 GET 请求 URL:http: //127.0.0.1 :8000/

使用 mysite.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:

  1. 民意调查/
  2. 行政/

空路径与其中任何一个都不匹配。

我认为我的代码不正确,所以我直接从网站上复制并粘贴代码并尝试运行它。它仍然无法正常工作。

下面是我正在尝试的代码和目录布局。任何帮助将不胜感激。我确定我只是缺少一些简单的东西。

谢谢你。

我的网站/urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

民意调查/urls.py

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'), ]

民意调查/views.py

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

C:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite 的目录

打印.txt

设置.py

网址.py

wsgi.py

初始化.py

pycache

C:\Users\ad\Documents\projects\mysite\msenv\mysite\polls 目录

管理员.py

应用程序.py

迁移

模型.py

测试.py

网址.py

视图.py

初始化.py

pycache

4

1 回答 1

2

您是否在 settings.py 中添加了您的应用程序名称确保您已在位于项​​目文件夹下的 settings.py 中添加了名称

在您的情况下,它将在这里:

C:\Users\ad\Documents\projects\mysite\msenv\mysite\mysite 的目录

像这样:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name',] # <--- polls in your case

确保您使用已定义的路线来访问正确的页面

例如在你的情况下:

您网站的路线是:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

并且您的应用程序“民意调查”路线是:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'), 
]

根据您的 views.py 文件

这是:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

您必须访问http://localhost :{port number}/polls/ 或http://127.0.0.1 :{port number}/polls/

默认端口号为 8000

使用 python manage.py runserver 运行服务器后

将您的页面作为浏览器的输出

于 2018-07-15T11:04:42.143 回答