шаблоны django-bootstrap 5. Ошибка

#django #django-templates #django-bootstrap4

Вопрос:

Я пытаюсь использовать Django-bootstrap 5 для своей формы, после создания формы и всего, что я сделал, мой шаблон и вот он.

 {% extends "base.html" %}
{% load bootstrap5 %}
{% block content %}
<div class="container">
  <h1>Log In</h1>
  <form method="POST" class="form">
      {% csrf_token %}
      {% bootstrap_form form %}
      {% buttons %}
          <button type="submit" class="btn btn-primary">login</button>
      {% endbuttons %}
      {% endblock bootsrap_form %}
  </form>

</div>

{% endblock content %}
 

urls.py

 path('login/',auth_views.LoginView.as_view(template_name='account/login.html'),name='login')
 

Но когда я запускаю сервер, я получаю синтаксическую ошибку шаблона, сообщающую мне, что он ожидает конечного блока, в то время как у меня уже есть конечный блок, вот ошибка:

 TemplateSyntaxError at /account/login/
Invalid block tag on line 8: 'bootsrap_form', expected 'endblock'. Did you forget to register or load this tag?
Request Method: GET
Request URL:    http://127.0.0.1:8000/account/login/
Django Version: 3.2.4
Exception Type: TemplateSyntaxError
Exception Value:    
Invalid block tag on line 8: 'bootsrap_form', expected 'endblock'. Did you forget to register or load this tag?
 

и код, возвращаемый в интерфейсе ошибок, выглядит следующим образом:

 1   {% extends "base.html" %}
2   {% load bootstrap5 %}
3   {% block content %}
4   <div class="container">
5     <h1>Log In</h1>
6     <form method="POST">
7       {% csrf_token %}
8       {% bootsrap_form form%}
9       <input type="submit" class="btn btn-default" value="Login">
10    </form>
11  
12  </div>
13  
14  {% endblock content %}
 

Что я заметил: когда я запустил сервер в первый раз, я допустил опечатку, написав bootstrap как bootstrap, и с тех пор исправил ее, но эта ошибка продолжает показывать мне первый код, который я удалил с тех пор.
Что я сделал: Так как я заметил это, изменил имя шаблона в своих представлениях, чтобы убедиться, что шаблон не найден, и повторно запустил сервер, но хуже всего то, что снова появилась та же ошибка, не только потому, что она не подтверждает исправление, которое я внес в шаблон, скорее то, что она просто перенастраивает первый шаблон, который я удалил.
Обратите внимание, я также прочитал документальный фильм о Джанго-шаблоне, и это не решает проблему.

Ответ №1:

Очевидно, что у вас есть существенные различия между этими двумя шаблонами. Это может произойти, когда:

  • вы используете библиотеку, которая включает в себя некоторые шаблоны: если список установленных приложений (в настройках) находится в неправильном порядке, включенные шаблоны могут иметь приоритет.
  • у вас есть несколько login.html шаблонов (это может случиться), и ваше представление автоматически перенаправляется не на тот.

И последнее, но не менее важное: bootstrap5 иногда это сбивает с толку: существует огромная разница между 4 и 5. Если вы используете шаблон bootstrap5 с bootstrap4 вдохновением, вы попадете в бесконечные неприятности, так как ничего не будет работать.