#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
вдохновением, вы попадете в бесконечные неприятности, так как ничего не будет работать.