№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Может ли у меня не получится стать программистом Python? Нет, Не может.

11. Уточним почему именно так распределяем url.

Давайте немного вникнем в тонкости url, познакомимся с первыми исключениями и уясним важные моменты в работе с url.

Перейти к уроку

12. Важные мелочи по настройке ALLOWED_HOSTS.

Я видел людей. которые долгое время никак не сервере не могли настроить сайт. Давайте я прямо сейчас проговорю эти вещи, что бы в будущем время ваше не отнималось, иногда это не часы, а дни. (запишите себе). Ведь как я вас учил в проекте должен быть wiki.

# особенности

ALLOWED_HOSTS = ........

Перейти к уроку

13. Тонкости работы с шаблонами в ListView.

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

Давайте начнём с самого простого TemplateDoesNotExist(не найдён шаблон).

И кроме этого дам рекомендации по созданию директорий, правильно было бы назвать пространства имён, что бы в будущем в проекте любой величины, даже с одинаковыми названиями файлов не было проблем.

TemplateDoesNotExist школа программирования Бовсуновского

Перейти к уроку

14. Настройка работы шаблонов(templates).

Давайте подстроим шаблоны в settings. Создадим базовый html файл, научимся наследовать шаблоны и многое другое.

{% extends 'base.html' %}
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [

            os.path.join(BASE_DIR, 'templates'),
            #os.path.join(BASE_DIR, 'help_test/templates'),
        ],

Перейти к уроку

15. Выводим наши записи, применяем метод object_list.

object_list

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

Позднее в уроках ListView, мы изучим другие способы создания переменных для хранения пересчёта объектов.

{% if  sites_context_all_list %}

<ul>
 {% for objects in sites_context_all_list %}

 <li><a href="#">{{objects.name}}</a></li>

{% endfor%}

</ul>
{% else %}
<p>Пока нет записей в этой категории.</p>
{% endif %}

Зачем это нужно?

А вот представьте с вами работают дизайнеры, которые понимают шаблоны, но не понимают код. Конечно им было бы удобнее, если бы было что то читаемо, нежели object_list.

Пока давайте разберём object_list и механизм работы в шаблоне.

Перейти к уроку