Представление (view) является Python-функцией или классом, которые принимают HTTP-запрос и возвращает HTTP-ответ. Представления обрабатывают запросы от клиента, взаимодействуют с данными (обычно из базы данных через модели), и формируют HTML-страницы или другие форматы ответа (например, JSON).
В файле views.py
вашего приложения импортируйте класс HttpResponse
из модуля django.http
.
Создайте функцию Python, которая принимает объект HttpRequest
и возвращает объект HttpResponse
.
По аналогии создайте другие представления. Например:
# views.py
from django.http import HttpResponse
def index(request: HttpRequest) -> HttpResponse:
return HttpResponse("Main content...")
def categories(request: HttpRequest) -> HttpResponse:
return HttpResponse("List of catigories")
Укажите папку проекта, как корневую директорию. Right Mouse Click →Mark Directory as → Sources Root. Когда вы помечаете директорию как "Sources Root", вы сообщаете PyCharm, что эта директория содержит основной код вашего проекта или приложения. Это позволяет PyCharm правильно интерпретировать структуру проекта и обеспечивает поддержку функций IDE, таких как автодополнение кода, индексация и поиск символов.
В директории приложения создайте файл - urls.py
path
. Эта функция позволяет определить шаблоны URL-адресов и связать их с конкретными представлениями.views
.urlpatterns
добавьте связку пути и представления, которое его должно обработать. Например, для обработки главной страницы сайта - http://127.0.0.1:8000/
, указанной как пустая строка в path
будет вызвана функция index
, а для http://127.0.0.1:8000/categories/
будет вызвана функция categories
(это начнёт работать только после следующего шага!).# urls.py (for app)
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('categories/', views.categories)
]
В файл urls.py
проекта (не приложения!):
iclude
. Эта функция позволяет включить URL-конфигурацию из другого файла в основной файл конфигурации URL-адресов.urls.py
вашего приложения.path('new/', include('app_name.urls'))
добавит ко всем url приложения префикс new/
, и путь будет выглядеть следующим образом - http://127.0.0.1:8000/new/
для основной страницы и http://127.0.0.1:8000/new/categories/
для категорий.admin/
указан по умолчанию и будет разбираться в курсе далее.# urls.py (for project)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('app_name.urls')),
]