
Итак, есть ли какая-то конкретная веская причина, по которой, несмотря на то, что я все делаю правильно, я получаю сообщение об ошибке 404 при развертывании своего сервера разработки (на порту 8000) из PyCharm?
Это руководство, которому я следуюУчебник на YouTubeкоторому я следовал до последней буквы. Почему это работает для него, а для меня нет?
У меня есть подтверждение, что службы запущены. Я запустил это с помощью следующей команды
python manage.py runserver
Почему при настройке путей URL в /urls
файле конфигурации фреймворка Django браузер просто решает не читать файл?
- Я пробовал изменить номер порта в настройках приложения PyCharm, но это было бы слишком просто.
- Я пробовал закрыть приложение, а затем снова запустить его — конечно, это не сработало, потому что это бы слишком облегчило мне жизнь.
- Я попробовал поискать проблему в Google, и мне предложили решение, указанное выше.
Вот мой код ниже, первый первый фрагмент, по-видимому, является тем местом, где, по мнению браузера, находится проблема. Они находятся в отдельных файлах:
#Filename: pyshop/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('products/', include('products.urls'))
]
from django.urls import path
from . import views
urlpatterns = [
path('', views.index)
]
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse('Hello World')
Вы увидите, что это не мой код. Так что же это? И как мне избавиться от проблемы 404?
решение1
URL http://example.com/
(то есть пустой путь!) не соответствует ни префиксу admin/
, ни префиксу admin/
.
Добавьте либо префикс к URL-адресу, который вы пытаетесь открыть (например, попробуйте openinig http://example.com/admin/
), либо добавьте новую запись в urlpatterns о том, куда должен указывать/перенаправлять пустой URL-адрес.