«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Понимание архитектуры Django: шаблон MTV.

Понимание архитектуры Django: шаблон MTV.

Опубликовано 2 ноября 2024 г.
Просматривать:998

Understanding Django’s Architecture: The MTV Pattern.

Django следует шаблону MTV (Модель-Шаблон-Представление) для веб-разработки. Вот разбивка каждого компонента:

Модель: определяет структуру данных и управляет взаимодействием с базой данных, позволяя хранить и извлекать данные без написания SQL-запросов вручную.

Шаблон: отвечает за рендеринг HTML и представление данных пользователю. Вы пишете HTML, смешанный с языком шаблонов Django (DTL), для отображения динамического контента.

Просмотр: действует как уровень бизнес-логики. Он соединяет Модель и Шаблон, обрабатывает запросы пользователей, взаимодействует с Моделью и возвращает ответ (часто HTML, визуализируемый из Шаблона).

Как работает цикл запрос-ответ в Django:

  • Пользователь запрашивает веб-страницу (через URL-адрес).
  • Django сопоставляет URL с представлением.
  • Представление извлекает данные из модели и передает их в шаблон.
  • Шаблон преобразует данные в HTML и отправляет их обратно пользователю в качестве ответа.

Шаг 1. Создайте новое приложение в Django.
После того, как вы настроили Django (как описано в предыдущей статье), давайте создадим новое приложение в вашем проекте.

Выполните следующие команды:

cd mysite
python3 manage.py startapp core

Это создаст приложение с именем core внутри вашего проекта mysite. Ваша файловая структура теперь должна выглядеть так:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Шаг 2. Зарегистрируйте свое приложение в файле настроек.
Чтобы Django узнал о новом приложении, вам необходимо добавить его в INSTALLED_APPS в mysite/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

Шаг 3. Создайте базовое представление.
Давайте создадим простое представление, которое возвращает «Hello, World!» сообщение.

Откройте файлviews.py внутри основного приложения и добавьте следующий код:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

Шаг 4. Сопоставьте URL-адреса с представлением.
Чтобы получить доступ к этому представлению через URL-адрес, вам необходимо сопоставить его в файле core/urls.py. Создайте этот файл, если он не существует, и добавьте следующее:

from django.urls import path
from . import views

urlpatterns = [
    path('learn/', views.learn, name='learn'),
]

Затем добавьте URL-адреса основного приложения в основной файл mysite/urls.py:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

Теперь, если вы запустите сервер и посетите http://127.0.0.1:8000/core/learn/, вы должны увидеть «Hello, World!» отображается.
Шаг 5. Создайте и отрисуйте шаблон

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

Это представление теперь передает переменную (имя) в шаблон с именем hello.html.
Шаг 6. Создайте каталог шаблонов и файл HTML.
В основном приложении создайте папку шаблонов и файл hello.html:

mkdir core/templates
touch core/templates/hello.html

В файл hello.html добавьте следующий HTML-код



    Hello Template

Hello, {{ name }}!

Когда вы снова посетите URL-адрес обучения, вы должны увидеть «Привет, Джанго!» в браузере.

Шаг 7. Создайте базовую модель.
Давайте создадим простую модель Post для хранения сообщений в блоге.

В файле core/models.py добавьте следующий код:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def __str__(self):
        return self.title

Эта постмодель имеет два поля: заголовок и содержание. Метод __str__ гарантирует, что объекты Post отображаются с их заголовками в администраторе или оболочке Django

Шаг 8. Примените модель к базе данных.
Чтобы создать соответствующую таблицу в базе данных, выполните следующие команды:

python3 manage.py makemigrations
python3 manage.py migrate

Теперь Django создаст таблицу базы данных для модели Post.

Выполнив эти шаги, вы успешно создали базовое приложение Django с моделью, представлением и шаблоном. Теперь вы можете расширить эту основу, добавив дополнительные функции, такие как обработка вводимых пользователем данных, улучшение дизайна и повышение интерактивности приложения.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/vincenttommi/2-understanding-djangos-architecture-the-mtv-pattern-1gl?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3