Архив категории ‘Django 3.0’

URL-параметры и параметризированные запросы

Для удобства принято при выводе на экран разбивать объявления по рубрикам. Добавим на страницу панель навигации со списком рубрик. При выборе определенной рубрики на страницу будут выводится только объявления, которые к ней относятся. Чтобы контроллер, отвечающий за вывод объявлений, мог смог их отфильтровать, ему необходимо передать ключ рубрики. Сделать это можно через GET-параметр, например, по […]

Связи между моделями, строковое представление

Классическая доска объявлений подразумевает, что все объявления разделены на тематические рубрики (электроника, услуги, аренда и т.д). Также добавим данный функционал в наш проект. Сначала объявим новый класс модели Rubric, которая обеспечит функционирование рубрик. Для этого необходимо дописать код в models.py (приложение bboard): Создаваемая модель содержит только одно поле name, предназначенное для хранения названия рубрики. Сразу […]

Параметры полей и моделей в Django. Редактор модели

Теперь необходимо доработать проект. Во-первых, созданная ранее модель имеет название в виде непонятной аббревиатуры Bbs, вместо логичного названия Объявления. Во-вторых, страницы редактирования и добавления новой записи в качестве надписей элементов формы имеют имена полей модели (price, title и content), что неудобно. В-третьих, нет возможности отсортировать объявления по дате публикации. Одним словом, необходимо настроить основные параметры […]

Административный веб-сайт Django

Данный инструмент позволяет получить доступ ко всем моделям, предварительно объявленных во всех приложения проекта. Есть возможность просматривать, удалять и редактировать нужные записи, а также использовать сортировку и различные фильтры. Кроме того, административный веб-сайт обеспечивает разграничение доступа, используя для этого встроенную подсистему. За реализацию подсистемы отвечает стандартное приложение django.contrib.auth. За работу отвечает приложение django.contrib.admin. Оба приложения […]

Шаблоны — контекст, рендеринг и сокращения

Шаблон – специально подготовленный образец, на основе которого генерируется веб-страница. За работы с шаблонами в Django отвечает система, которую принято называть шаблонизатором. Такой шаблон представляет собой классический HTML-код, в который добавлены специальные инструкторы шаблонизатора: фильтры, директивы и теги.  Фильтры предназначены для выполнения определенных преобразований данных перед выводом, директивы позволяют вывести какое либо значение, а теги […]

Консоль Django, работа с моделями

Фреймворк имеет в составе собственную консоль Django (редакция консоли Python Shell). Основное отличие – в пути поиска модулей автоматически добавляется каталог проекта, из которого данная консоль была запущена. Для запуска консоли необходимо выполнить команду: В случае успешного запуска отобразится приглашение >>>, которое предлагает ввести команду на языке Python и получить результат. Использует данный инструмент для […]

Модели и миграции

Теперь настала пора сделать так, чтобы вместо примитивного текстового сообщения на страницу выводились полноценные сообщения, выгруженные из настоящей базы данных. Первый шаг – объявить модель. Модель – специальный класс, описывающий конкретную таблицу в подключенной базе данных. В частности, необходимо описать доступный набор полей. При этом отдельный экземпляр класса - это отдельная запись таблицы (например, определенное […]

Маршруты и маршрутизатор

Для связи определенного интернет-адреса с соответствующим контролером необходимо выполнить следующие шаги: объявить связь определенного пути или шаблона с нужным контроллером. Путь – часть URL, расположенная между адресом текущего хоста и GET-параметрами. Начальный слеш в шаблонном пути не ставится, в конце должен присутствовать. оформить все объявленные маршруты в специальный список маршрутов; маршруты необходимо оформить в заранее […]

Приложения и контролеры

В терминологии Django приложение – отдельный функциональный блок, входящий в состав сайта. Решение о выделении части сайты в отдельное приложение принимает разработчик. Такое приложение может реализовать отдельный раздел интернет-ресурса или подсистему (регистрация пользователя, добавление объявления и т.п.). Приложение представляется стандартным пакетом Python, который содержит модули с программным кодом. Находится пакет в каталоге проекта – там, […]

Установка фреймворка, первый проект

Инсталлировать Django удобнее при помощи специальной утилиты pip, которая идет в комплекте с Python и предназначена для установки дополнительных библиотек из каталога PyPl. Для этого необходимо запустить командную строку и активировать команду: pip install django Стоит учитывать, что если исполняющая среда Python инсталлирована в каталог Program Files (x86) или Program Files, то при установке дополнительных […]