首页 文章

为什么Django会给我404错误

提问于
浏览
0

我目前正在尝试完成Django 2.0教程Poll应用程序 . 我使用的是Django 2.0.7和Python 3.7.0 . 我为这个项目设置了一个虚拟环境 . 我是Django的新手,如果我的术语不正确,请道歉 .

基本上,我不能让第1部分工作 .

我已经多次尝试过它,我似乎无法弄清楚为什么它不会工作 .

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

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

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

  • 民意调查/

  • admin /

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

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

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

谢谢 .

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

print.txt

settings.py

urls.py

wsgi.py

init .py

pycache

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

admin.py

apps.py

迁移

models.py

tests.py

urls.py

views.py

init .py

pycache

1 回答

  • 1

    您是否在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:{端口号} /民意调查/或http://127.0.0.1:{端口号} /民意调查/

    默认端口号为8000

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

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

相关问题