Я уверен, что я очень плотный, но провел дни, пытаясь понять, что я сделал неправильно.django кнопка хрустящей формы не отображается
У меня есть
- установленные Джанго-хрустящие-формы (с использованием пип)
- добавил 'CRISPY_TEMPLATE_PACK' мои настройки
- добавил 'crispy_forms' моих приложений
- сделал 'collectstatic' из загруженного файла tar (так как шаблоны и CSS не включены в пип)
- добавил '{% crispy_forms_tags%} в мою форму html-файл
- импортирован из crispy_forms.helper и crispy_forms.layout моего forms.py
Я использую Bootstrap 3, который я кодирование непосредственно, а не с помощью самозагрузки-инструментарий
бутстрапа делает хорошо на все мои страницы, а также поля формы, но кнопки не отображаются.
Моего HTML выглядит следующим образом:
{% extends 'base.html' %}
{% load crispy_forms_tags %}
<html>
<title>Add Guest</title>
<div class='container'>
{% block col1 %}
<div class='row'>
<div class="span3">
{% endblock %}
{% block col2 %}
<div class="span9">
<ul>
{% crispy form %}
</ul>
</div><!--/span9-->
{% endblock %}
</div><!--row-->
</div><!--/container-->
</html>
Если изменить хрустящую тег {% хрустящей MyForm MyForm.helper%} я получаю 'VariableDoesNotExist в' плюс непрерывные многие (реальные) языков. Появляется, как указано выше, появляются поля формы, но не кнопка.
Мой forms.py выглядит следующим образом:
from django.forms import ModelForm
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Fieldset, ButtonHolder, Submit
from .models import Author
class NewAuthorForm(forms.ModelForm):
class Meta:
model = Author
# If you pass FormHelper constructor a form instance
# It builds a default layout with all its fields
helper = FormHelper()
helper.form_method = 'post'
helper.add_input(Submit('save', 'save', css_class = 'btn-primary'))
Я знаю, что есть некоторая избыточность здесь с точки зрения импорта, но эта цифра не является проблемой.
Наконец, мой base.html является:
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="{{ STATIC_URL }}css/bootstrap.min.css" rel="stylesheet">
<!-- note that there’s also blue.uni-form.css and dark.uni-form.css available if you want to try chan-->
<link rel="stylesheet" href="{{ STATIC_URL }}crispy_forms/static/uni_form/uni-form.css" type="text/css" />
<link rel="stylesheet" href="{{ STATIC_URL }}crispy_forms/static/uni_form/default.uni-form.css" type="text/css" />
<!-- uni-form JS library, optional -->
<script src="{{ STATIC_URL }}crispy_forms/static/uni_form/uni-form.jquery.js" type="text/javascript"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class='container'>
{% block col1 %}
<div class='row'>
<div class="span3">
{% endblock %}
{% block col2 %}
<div class="span9">
</div><!--/span9-->
{% endblock %}
</div><!--row-->
</div><!--/container-->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="{{ STATIC_URL }}js/bootstrap.min.js"></script>
</body>
</html>
Я поставил хрустящие шаблоны форм в моей папке шаблонов, которая находится на том же уровне, что manage.py. Как я уже сказал, все бутстрапы отлично выглядят.
Я в тупике. Любые идеи с благодарностью получил
Такая же проблема :(Django 1.6, хрустящие-формы 1,4 – Juliusz
я сделал ошибку кодирования @Juliusz В первой строке формы я бы поставил. 'class NewAuthorForm (forms.ModelForm)', в то время как мне следовало бы поставить 'класс NewAuthorForm (ModelForm)', опуская «формы». – sidestrand
Я отказался от хрустящих форм, пытаясь решить мои проблемы в течение нескольких месяцев. позор, кажется потенциально хорошим вариантом. – sidestrand