我尝试为表单使用松脆的布局。 我遵循了说明和教程,但是因为我是Django和python的新手,所以我迷路了,它不呈现我的表单以及提交按钮。
我定义了模型形式:
class nowyPhForm(forms.ModelForm):
class Meta:
model = Phandlowy
fields = ('imie', 'nazwisko', 'email', 'telefon', 'firma', 'filia')
def __init__(self, *args, **kwargs):
super(nowyPhform, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_method = 'post'
self.helper.form_action = 'submit_survey'
self.helper.add_input(Submit('submit', 'Submit'))
self.helper.layout = Layout(
Row(
Column('imie', css_class='form-group col-md-6 mb-0'),
Column('nawisko', css_class='form-group col-md-6 mb-0'),
css_class='form-row'
),
Row(
Column('email', css_class='form-group col-md-6 mb-0'),
Column('telefon', css_class='form-group col-md-6 mb-0'),
css_class='form-row'
),
Row(
Column('firma', css_class='form-group col-md-6 mb-0'),
Column('filia', css_class='form-group col-md-6 mb-0'),
css_class='form-row'
),
Submit('submit', 'Sign in')
)
和HTML
{% load crispy_forms_tags %}
{% block content %}
<div class="container">
{% crispy form %}
</div>
{% endblock %}
如果有人可以发现问题,我将不胜感激。
答案 0 :(得分:0)
您必须手动添加提交按钮。脆皮表单仅提供字段UI,即使没有脆皮表单,您也必须手动添加按钮。以下代码段将呈现您的表单。
views.py
from django.shortcuts import render, redirect
from .forms import nowyPhForm
def view(request):
form = nowyPhForm()
if request.method == 'POST':
form = nowyPhForm(request.POST)
if form.is_valid():
form.save()
return redirect('some_other_url')
return render(request,'template.html',{'form':form})
template.html
{% load crispy_forms_tags %}
{% block content %}
<div class="container">
<form method="POST">
{% form | crispy %}
<button type="submit">Submit</button>
</form>
</div>
{% endblock %}