Давайте продолжим построить наш веб-сайт, создав шаблон для наших списков страницы и отображение списков, которые мы создали.
Для этого мы следуем тому же шагу, что и в предыдущей главе. Мы создаем URL, вид и шаблон.
Откройте URLS.PY и добавьте путь к странице списков. Я назвал это all_listings здесь, но вы можете выбрать свои собственные имена или придерживаться в книге, если вы предпочитаете.
Списки URL Path.
Большинство концепций уже объяснены в последней главе. Здесь мы только что добавили путь к странице списков.
Списки Вид
Откройте Views.py и добавьте следующий код.
Полный код
Укороченная версия
от .models import model_name
Причина, по которой мы импортируем модели списков в Views.py, это то, что нам нужны данные из модели, чтобы мы могли передать ее на шаблон All_Listings. После того, как мы передаем данные к шаблону, мы можем использовать его и отобразить его пользователям. Представление индекса не требовалось никаких данных, которые должны быть переданы, поэтому мы не импортировали ни одной модели раньше.
Запросы базы данных
Чтобы создать, извлекать, обновлять и удалять объекты из базы данных, нам нужно запросить базу данных. Django предоставляет нам API базы данных ABRACTION, чтобы выполнить упомянутые ранее действия. Предполагая, что вы уже установили модели базы данных, вы можете использовать запросы для управления данными, хранящимися в базе данных.
Давайте опишем поток кода ниже. Делая это, я объясню, как используется здесь запрос.
Перед равным знаком (=) мы имеем ALL_LISTINGS, которые ссылаются на переменную, которая удержит возвратные данные, которые мы подскажем базу данных дать нам. Вы можете установить ваши переменные, чтобы иметь любое имя.
После равного знака (=) у нас есть списки названий модели, атрибут объектов модели, а метод ustruction_by (), который возвращает списки из новейших до старейших на основе даты.
Весь запрос подсказывает базу данных для всех объектов в модели списков, расположенных на дате в обратном порядке (-). Все объекты будут сохранены в переменной All_Listings, которые будут храниться в словаре контекста = {} и передаются на шаблон All_Listings, используя метод Render.
Здесь я объясню еще несколько запросов, но если вы хотите, вы можете проверить официальную документацию Django для более широких объяснений и более запросов.
variable_name.cobjects.all ()
Возвращает все объекты из базы данных для указанного model_name
variable_name.cobjects.first ()
Возвращает первый объект из базы данных для указанного model_name
variable_name.Objects.last ()
Возвращает последний объект из базы данных для указанного model_name
variable_name.Objects.get (name = ‘sam’)
Возвращает объект/объекты из базы данных, который соответствует указанному номеру_Намена
variable_name.cobjects.Order_by (‘list_date’)
Возвращает объект/объекты из базы данных, заказанные by list_date для указанного model_name
Шаблон списков
Шаблоны обычно длительны для этого проекта, поэтому, если вы чувствуете себя перегруженным им, пожалуйста, обратитесь к исходному коду. У нас может быть целая книга о используемом HTML-коде. Я не буду сфокусироваться на нем слишком много для этой книги, поскольку это книга Python/Django, но не стесняйтесь проверять онлайн для HTML-кода, который вы не понимаете.
Django предоставляет нам встроенные теги шаблона, которые мы можем использовать в наших шаблонах для запуска кода Python.
% для листинга в All_listings% -% Пустые% -% EndFor%
Поскольку мы пропустили словарь All_Listings к этому шаблону, мы можем использовать данные, хранящиеся в словаре, вызывая переменную, которая содержит данные в этом случае All_listings. Мы зацикливаем данные в All_Listings и отображать определенные поля, используя точечную обозначение (.) Для доступа к данным словаря, например, в листинге. Itle для заголовка списка.
Если нет списков, пустой пункт будет отображать текст: «Нет найденных списков. Попробуйте снова”.
Пуск Endcher заканчивается цикл.
Мы также добавили ссылку для просмотра каждого списка. Настоящая в прямо сейчас, ссылка не берет вас никуда, но позже мы будем активировать ее. Такие небольшие детали, которые не актуальны, но здесь будут добавлены здесь и там, как мы движемся.
К сожалению, я не могу объяснить каждую линейку кода, поэтому, пожалуйста, проконсультируйтесь и исследуйте остальную часть кода. Я верю, что это хороший способ получить шар, когда дело доходит до поиска и понимания кода самостоятельно.
Давайте запустим сервер, выдавая Python Manage.py Runserver и перейти к http://127.0.0.1:8000/all_listings/
Вы должны увидеть страницу со всеми списками, которые вы создали до сих пор. Если вы не видите списки, вернитесь через главу и устранять неполадки.
Если вы наслаждаетесь серией и хотите поддержать, вы можете найти всю книгу ниже.
Django 3 … 2 … 1 … взлет! Заинтересовать
Django 3 … 2 … 1 … взлет! Мягкая обложка
Оригинал: “https://dev.to/balt1794/chapter-4-listings-page-django-3-2-1-takeoff-series-3c12”