Similar presentations:
Фильтрация элементов админ панели, создание динамических полей для поста, подробной информации о посте
1.
Практическая работа2
Фильтрация элементов админ панели, создание
динамических полей для поста, подробной
информации о посте
2.
Общее задние по практике 2• Вывод списка постов
• Создание навигации между страницами пост ->
детали поста
• Вывод всех полей в админ панели
• Создание фильтрации по постам в админ панели
3.
Задание 1• 1.Создание базового шаблона в формате
4.
• 2. Наследование шаблона base другими temlplate (blog,post_detail> и их создание.
Наследование дочерними templates происходит через
{% extends "blog/base.html" %}
• Также стоит учесть блоки в родительском классе, в которые
подставляется разметка из дочернего ( см.
https://github.com/Nilsolk/BlogSampleDjango/tree/main/my_site/bl
og/templates/blog )
{% block content %}
{% endblock %}
При определении этих блоков в дочерних темплейтах они
поставляются в родительский
Подробная информация о темплейтах https://django.fun/docs/django/4.2/ref/templates/language/
5.
• 3. Подключение и создание статических фалов кдинамической html страничке
• Загрузка данных из папки статик (img, js, css)
происходит с помощью {% load static %} в самом
начале родительского файла.
• Для подключения стилей необходимо прописать в самом начале
файла href="{% static "css/blog.css" %}"
• Необходимо создать небольшую верстку страничек для
отображения всех постов, а также для отображения
детальной информации о посте
6.
4. Создание навигации между страничками приклике на пост
4.1 Навигация на главную страницу для отображения
постов, получаем через QuerySet все объекты из бд (наши
посты и передаем их в наш темплейт)
4.2 Навигация по посту, делаем каждый пост ссылкой и
при нажатии на нее переходим по другой view. Получаем
наш объект по id, который передается при нажатии на
https://metanit.com/python/django/2.3.php
ссылку
7.
• 5. Создание urls - путей для навигации1 – путь до админки
2 - путь до списка блогов
3 – путь до подробностей поста( в ссылке
необходимо указывать id поста)
• Urls необходимо прописать внутри приложения
который отвечает за создание блога
• Далее необходимо подключить файл в наш корневой
проект urls.py с помощью include()
• https://docs.djangoproject.com/en/4.2/ref/urls/
- подробнее про ссылки и как они работают(path,
re_path, include . . .)
8.
6. Добавление фильтрации• Для этого необходимо создать класс Meta в
модели поста и определить то, по каким полям
нам необходимо осуществлять сортировку
• Также необходимо зарегистрировать модель через
декоратор @django.admin register(Название
модели)
class PostAdmin(admin.ModelAdmin):
• И в нем прописать параметры сортировки по разным полям
• The Django admin site | Django documentation |
Django – подробнее про admin панель и сортировки в ней
programming