Я установил 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 ответ
Ваш основной файл URL-адресов находится в неправильном каталоге. Похоже, вы создали отдельный urls.py в базовом каталоге mysite; вместо этого вы должны были отредактировать существующий в каталоге "mysite / mysite". Тот, который вы создали, вообще не используется.
Похожие вопросы
Новые вопросы
django
Django - это серверная платформа веб-приложений с открытым исходным кодом, написанная на Python. Он разработан для сокращения усилий, необходимых для создания сложных веб-сайтов и веб-приложений, управляемых данными, с особым упором на меньшее количество кода, отсутствие избыточности и более явное, чем неявное.