Я установил Django 2.2.5 в среду conda и следую руководству по Django для Написание вашего первого приложения Django, часть 1

Я точно выполнил все шаги, но при попытке получить доступ к опросам / URL-адресу появляется сообщение об ошибке «Страница не найдена».

Моя структура корневого каталога выглядит так

mysite/
    manage.py
    db.sqlite3
    urls.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    polls/
        migrations/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        urls.py
        views.py

И мой взгляд такой

D: \ TEMP \ djangotest \ mysite \ polls \ views.py

from django.shortcuts import render
from django.http import HttpResponse

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

Мои два файла с URL-адресами выглядят так

D: \ TEMP \ djangotest \ mysite \ polls \ urls.py

from django.urls import path
from . import views

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

D: \ TEMP \ djangotest \ 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),
]

И я запускаю приложение из такой среды

(py3.6) D:\TEMP\djangotest\mysite>python manage.py runserver

Но когда я перехожу к URL-адресу, указанному в учебнике, он выдает ошибку 404 - страница не найдена с консоли.

October 21, 2019 - 16:23:13
Django version 2.2.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /polls
[21/Oct/2019 16:23:19] "GET /polls HTTP/1.1" 404 1954

Из браузера это выглядит так

Page not found (404)
Request Method:
GET
Request URL:
http://localhost:8000/polls
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order: 
admin/ 
The current path, polls, didn't match any of these. 
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page. 
1
erotavlas 21 Окт 2019 в 23:25

1 ответ

Лучший ответ

Ваш основной файл URL-адресов находится в неправильном каталоге. Похоже, вы создали отдельный urls.py в базовом каталоге mysite; вместо этого вы должны были отредактировать существующий в каталоге "mysite / mysite". Тот, который вы создали, вообще не используется.

2
Daniel Roseman 21 Окт 2019 в 20:36