Я не могу создать новый 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.
Bro you need to do some step by step tutorial and courses otherwise you would keep getting stuck in simplest of applications. My best bet for you would be doing this course