Django_bootstrap5 ничего не форматирует

Я пытаюсь заставить работать базовое форматирование bootstrap в приложении django, и установил django_bootstrap5 для этого. Однако форматирование не применяется ни к одной из страниц.

Вот различные страницы:

base.html:

<!DOCTYPE html>
{% load django_bootstrap5 %}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        {% block title %}
        {% endblock %}
    </title>
</head>
<body>
<div class="container">
    {% block body %}
    {% endblock %}
</div>
</body>
</html>

Я расширяю это в простой индексной странице:

<!DOCTYPE html>
{% extends 'base.html' %}
{% load django_bootstrap5 %}

{% block title %}
  Home
{% endblock %}

{% block body %}
<h1>Hello World</h1>
{% endblock %}

Hello World, однако, не отображается в контейнере.

Это также не работает на странице формы:

<!DOCTYPE html>
{% extends 'base.html' %}
{% load django_bootstrap5 %}

{% block body %}
<div class="container">
    <h1>Sign Up</h1>
    <form method="POST">
        {% csrf_token %}
        {% bootstrap_form form %}
        <input type="submit" value="Sign Up" class="btn btn-default">
    </form>
</div>
{% endblock %}

Форма не находится ни в контейнере bootstrap, ни вообще не имеет стилизации. Что я здесь упускаю? Спасибо.

Похоже, что вы правильно загрузили библиотеку тегов шаблона django_bootstrap5 как в базовый, так и в дочерние шаблоны. Однако, похоже, что вам не хватает Bootstrap CSS и JavaScript файлов, которые обеспечивают фактическую стилизацию и функциональность.

Убедитесь, что файлы Bootstrap CSS и JavaScript включены в ваш HTML, либо путем ссылки на CDN, либо путем включения их в ваши статические файлы. Вы также можете включить их в шаблон base.html, чтобы не включать их на каждой странице.

В вашем файле base.html это должно выглядеть примерно так:

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>

Вам также необходимо убедиться, что вы включаете тег шаблона bootstrap_form в правильном месте. У вас он находится внутри тега, но должен быть вне его, например, так:

<form method="POST">
    {% csrf_token %}
    {% bootstrap_form form %}
    <input type="submit" value="Sign Up" class="btn btn-default">
</form>

Отследил это в исходном коде: для использования пакета django_bootstrap5 вы должны включить bootstrap через cdn или путем загрузки локальных файлов в static, в дополнение к установке пакета django_bootstrap5.

Я поймал это в решенной проблеме на github здесь, вот соответствующая строка:

Hi, Just a tiny error on the core.py file that I forgot to fix on loading the app in a new environment, the final 's' is missing on line 13:

        "url": "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.j",
Rather than:

        "url": "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js",
Easy enough to fix but thought it might be handy to prevent any panic moments!

В заключение установите bootstrap, а также django_bootstrap5!

Вернуться на верх