paladin223 / django

0 stars 0 forks source link

Доразобраться с шаблонами #42

Closed drowsycoder closed 1 year ago

drowsycoder commented 1 year ago
  1. Лишние усложения в адресах шаблонов:

    {% extends '../index.html' %}

    А простой {% extends 'index.html' %} не работает? Попробуй

  2. Скорректировать отступы

Пример:

<footer class="bg-dark fixed-bottom mt-auto d-flex justify-content-center align-items-center">
    <div class="container text-center">
      <p class="mb-0 text-light">2023 git hub</p>
    </div>
</footer>

Неоправданный прыжок в отступах здесь, там, в другом месте, и когда-то мы запутаемся и будем править ошибочный элемент Просто 2 пробела для каждой новой ступени вложенности

  1. Ну и вообще внимательнее при оформлении кода

{% block main %}Контент не загружен{% endblock%} - внутренности джанго-тегов отбиваем от {% %} пробелами с обоих сторон

  1. От повторяющихся имён шаблонов main.html стоит уйти, они должны соответствовать своей сущности Где-то делать ближе к названию приложения, где-то (если для приложения много шаблонов) ближе к названию функции и т.п.

  2. Хедер у тебя сейчас вообще не зайдействован, а именно в нём по смыслу и располагается базовая навигация {% load static %} тогда там тоже не понятно, зачем нужен (статику же мы в файле не загружаем)

  3. Кстати, {% load static %} указываем в самом начале файла, первой-второй строчкой, это такая глобальная конструкция Исключение можно сделать для базового шаблона с доктайпом (для соблюдения стандарта), но всё равно в первых строчках

  4. Сделать разный title для разных страниц В этом поможет отдельный переопределяемый на других страницах блок Сейчас везде указано просто Main (что нелогично), а будет что-то типа Главная страница, Каталог, О сайте

drowsycoder commented 1 year ago

Отступы не скорректировал (п. 2)

В index.html не исправил (п. 3)

Бессмысленность наличия header+nav оставил (п. 5). Чаще всего, nav или под хедером идёт, или имплементируется в него, или как навигация в sidebar; у тебя можно всё просто сделать в header и не плодить лишнего

По п. 7 обрати внимание, что в конструкциях типа <title>{% block title %} Кот обормот {% endblock title %}</title> и замещающих таковые в других шаблонах блоках типа {% block title %} О магазине {% endblock title %} пробелы вокруг содержимого тега (т.е. пробелы вокруг " О магазине ") потенциально неприятны для фронтендеров, так как редко, но могут повлечь косяки при вёрстке. Пускай примыкают вплотную