Я выполнил все семь шагов из Написание вашего первого Django приложения учебника для 3.0. Все работает отлично, кроме URL-адреса базового сайта для mysite в http://127.0.0.1:8000/
. В начале урока это работало, но перестало работать по мере продвижения / в конце. http://127.0.0.1:8000/admin/
отлично работает. Может ли кто-нибудь сказать мне, что я делаю не так?
Основываясь на том, как структурирован учебник, т.е. «добавьте то, то и то, и то» и т. Д. c., Что я что-то перезаписал.
Вот ошибка, которую я получаю в моем браузере:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
polls/
admin/
The empty path 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.
Вот ошибка, которую я получаю в Терминале:
Not Found: /
[20/Jun/2020 11:01:22] "GET / HTTP/1.1" 404 2027
Вот мой файл polls / urls.py:
from django.urls import path
from . import views
app_name = 'polls'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('<int:pk>/results/', views.ResultsView.as_view(), name='results'),
path('<int:question_id>/vote/', views.vote, name='vote'),
]
Вот мой файл 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),
]
Вот ШАБЛОНЫ в mysite / settings.py:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
РЕШЕНО / ОТВЕТ добавлен из комментариев:
Ответ эксперта Виллем Ван Онсем
1. Отредактируйте mysite / urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('', include('polls.urls')), # no /polls/ prefix
path('admin/', admin.site.urls),
]
2. Бег python manage.py runserver