Пустой путь обрывается после добавления первого приложения в django
Я создал новое приложение django и запустил его, используя
python manage.py runserver . Оно запустилось нормально, и я смог увидеть страницу по умолчанию
Вывод оболочки:
Django version 4.0.1, using settings 'storefront.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[23/Jan/2022 18:52:07] ←[m"GET / HTTP/1.1" 200 10697←[0m
[23/Jan/2022 18:52:07] ←[36m"GET /static/admin/css/fonts.css HTTP/1.1" 304 0←[0m
[23/Jan/2022 18:52:07] ←[36m"GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 304 0←[0m
[23/Jan/2022 18:52:07] ←[36m"GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 304 0←[0m
[23/Jan/2022 18:52:07] ←[36m"GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 304 0←[0m
Not Found: /favicon.ico
[23/Jan/2022 18:52:07,704] - Broken pipe from ('127.0.0.1', 56807)
Затем я добавил новое приложение, как показано ниже:
python manage.py startapp playground
затем я добавил обработчик действия
playground/views.py
def say_hello(request):
return HttpResponse('Hello World!')
Я также добавил urls.py внутрь папки playground
playground/urls.py
urlpatterns = [
path('hello/', views.say_hello)
]
И основное urls.py я добавил:
root/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('playground/', include('playground.urls')),
]
В основном файле settings.py я включил playground в список INSTALLED_APPS.
Затем я запустил приложение и могу подтвердить, что путь 127.0.0.1:800/playground/hello работает так, как ожидалось.
Однако пустой путь 127.0.0.1:8000/ больше не действителен. Я получаю эту ошибку:
Пустой путь работает только если я комментирую playground урлы,
urlpatterns = [
path('admin/', admin.site.urls),
# once the next line is commented, the empty path works fine
# path('playground/', include('playground.urls')),
]
Вот что показывает журнал после запроса пустого пути:
Django version 4.0.1, using settings 'storefront.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /
[23/Jan/2022 18:47:36] ←[33m"GET / HTTP/1.1" 404 2174←[0m
Not Found: /favicon.ico
[23/Jan/2022 18:47:36,801] - Broken pipe from ('127.0.0.1', 56786)
Что я делаю не так?
Вы не сделали ничего плохого, страница django по умолчанию отображается только в том случае, если у вас нет других шаблонов url, чтобы попробовать (Github)
Теперь вам нужно добавить путь в / или вы можете просто вызвать путь django, если хотите
from django.views.debug import default_urlconf
path('', default_urlconf)

