Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

6.6 Добавление в проект Bootstrap 5
4 из 4 шагов пройдено

Теперь добавим стили, создадим директорию static и подключим её в файле настроек settings.py:

STATIC_URL = 'static/'
STATICFILES_DIRS = [BASE_DIR / 'static']


Затем создадим файл стилей static\base.css со следующим содержимым:

/* Задаёт отступ сверху и цвет страницы. */
body {
    padding-top: 50px;
    background-color: rgb(246, 246, 246);
}

/* Задаёт цвет заголовка таблицы. */
thead {
    background-color: rgb(240, 240, 240);
}

/* Задаёт цвет тела таблицы. */
tbody {
    background-color: rgb(252, 252, 252);
}

/* Задаёт размер шрифта таблицы. */
td {
    font-size: 14px;
}

/* Задаёт высоту строки таблицы. */
tr {
    line-height: 26px;
    min-height: 26px;
    height: 26px;
 }

/* Чтобы удалить ошибочное подчеркивание между символами сортировки. */
a {
    text-decoration: none;
}

/* Задаёт высоту текстовых полей формы редактирования книги. */
 .form-control-sm {
    line-height: 24px;
    min-height: 24px;
    height: 24px;
 }

/* Задаёт цвет шрифта для прочитанной книги. */
.grey-text {
    color: rgb(192, 192, 192);
}

/* Задаёт ширину кнопок Прочитана и Не прочитана. */
.status-button {
    width: 107px;
}

/* Задаёт ширину кнопок Изменить, Удалить, Сохранить и Отменить. */
.any-button {
    width: 80px;
}

/* Задаёт размер шрифта кнопок в таблице. */
.table-button {
    font-size: 13px;
}


Подключим файл стилей в шаблоне templates\base.html:

{% load static %}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>{% block title %}Books{% endblock title %}</title>
    <link rel="stylesheet" href="{% static 'base.css' %}">
</head>


Добавим классы в шаблон templates\partial_book_detail.html:

<tr class="{% if book.read %}grey-text{% endif %}">
    <!-- Ячейка номера книги -->

Если книга прочитана, класс grey-text изменит цвет шрифта в строке на серый.

Добавим классы для кнопок:

                                <!-- Кнопка "Unread" -->
                                <button class="disbtn table-button status-button"
...
                                <!-- Кнопка "Read" -->
                                <button class="disbtn table-button status-button"
...
                                <!-- Кнопка "Edit" -->
                                <button class="disbtn table-button any-button"
...
                                <!-- Кнопка "Delete" -->
                                <button class="disbtn table-button any-button"


Добавим классы для кнопок в шаблон templates\partial_book_update_form.html:

                    <tr class="{% if book.read %}grey-text{% endif %}">
...
                                <!-- Кнопка "Unread" -->
                                <button class="table-button status-button" disabled>
...
                                <!-- Кнопка "Read" -->
                                <button class="table-button status-button" disabled>
...
                            <!-- Кнопка "Save" -->
                            <button type="submit"
                                    class="table-button any-button"
...
                            <!-- Кнопка "Cancel" -->
                            <button class="table-button any-button"


Добавим класс form-control-sm для текстовых полей, в файл  books\forms.py:

class BookEditForm(BookCreateForm):
    title  = CharField(required=False, widget=TextInput(attrs={"class":"form-control-sm"}))
    author = CharField(required=False, widget=TextInput(attrs={"class":"form-control-sm"}))
    price  = CharField(required=False, widget=TextInput(attrs={"class":"form-control-sm"}))

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.