Я не могу создать новый url на django
я просмотрел несколько уроков о том, как создать новый простой url, но почему-то он не работает, похоже, что я не зарегистрировал ни одного url, хотя я это сделал.
я создал приложение под названием 'Login' и зарегистрировал его в списке «INSTALLED APPS» в settings.py в django :
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Login.apps.LoginConfig',
]
затем я создал функцию под названием 'home' в файле views приложения, чтобы показать фразу на странице:
from django.shortcuts import render
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello')
и затем я создал новый путь к url в файле urls.py проекта, сначала без имени, просто («»):
from django.contrib import admin
from django.urls import path
from Login.views import home
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home),
]
и когда я использую команду (python manage.py runserver), он просто возвращается на страницу «успешной установки» django, ту самую, с маленькой ракетой.
Затем я попробовал использовать имя для url («home/»):
from django.contrib import admin
from django.urls import path
from Login import views
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', views.home)
]
но когда я обращаюсь к (localhost:8000/home/), он говорит, что такой url не найден, вот сообщение, которое я получаю со страницы:
Страница не найдена (404)
Метод запроса:GETRequest URL:http://127.0.0.1:8000/home/
Используя URLconf, определенный в setup.urls
, Django попробовал эти шаблоны URL, в таком порядке:
admin/
Текущий путь, home/
, не соответствует ни одному из этих путей.
Вы видите эту ошибку, потому что у вас в файле настроек Django стоит DEBUG = True
. Измените это на False
, и Django отобразит стандартную страницу 404.
И вот какое сообщение я получаю из терминала:
19/Jan/2025 11:33:11] «GET / HTTP/1.1» 200 12068
Не найдено: /home/
[19/Jan/2025 11:33:16] «GET /home/ HTTP/1.1» 404 2189
Не найдено: /home/
[19/Jan/2025 11:33:17] «GET /home/ HTTP/1.1» 404 2189
Я также пытался установить DEBUG на False, но это ничего не изменило. Я также попробовал создать файл urls.py в папке app, но это также не помогло. Пожалуйста, помогите мне lol, я не очень хорошо владею английским, поэтому надеюсь, что объяснил все правильно.
Вам нужно будет «включить» ваше приложение в корневой urls.py проекта (где находится ваш администраторский URLConf. Это urls.py уровня вашего проекта, и обычно он находится в той же директории, что и settings py. Он должен выглядеть следующим образом:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('Login.urls')),
]
Затем в файле URLs.py уровня приложения (тот, который вы создали), обычно находящемся в каталоге приложений:
from django.urls import path
from . import views
urlpatterns = [
path('home/', views.home)
]
Теперь запустите python manage.py runserver
, и ваш сайт должен быть доступен по адресу localhost:8000/home/
.
Смотрите docs.
Братан, тебе нужно пройти несколько пошаговых руководств и курсов, иначе ты так и будешь застревать в простейших приложениях. Я бы посоветовал тебе пройти этот курс