Django 如何在引导模式窗口中呈现DjangForm
我正在学习Django,我想在引导模式视图中显示一些表单。 我有一个带有HTML表格的模板,这个表格有一个带有下拉按钮的列,有几个选项。 该表使用django-tables2呈现,表单使用django crispy表单呈现 模态形式的我的形式定义:Django 如何在引导模式窗口中呈现DjangForm,django,twitter-bootstrap,django-forms,django-crispy-forms,Django,Twitter Bootstrap,Django Forms,Django Crispy Forms,我正在学习Django,我想在引导模式视图中显示一些表单。 我有一个带有HTML表格的模板,这个表格有一个带有下拉按钮的列,有几个选项。 该表使用django-tables2呈现,表单使用django crispy表单呈现 模态形式的我的形式定义: class RecepcionForm(forms.ModelForm): fecha_recepcion = forms.DateField(widget=DateInput()) def __init__(self,*args,*
class RecepcionForm(forms.ModelForm):
fecha_recepcion = forms.DateField(widget=DateInput())
def __init__(self,*args,**kwargs):
super(RecepcionForm,self).__init__(*args,**kwargs)
self.helper = FormHelper(self)
self.helper.layout = Layout(
Field('id_proveedor',
'anio',
'mes',
'usuario',
readonly = True
),
Fieldset('',
'fecha_recepcion',
'num_archivos',
Submit('save','Grabar'),
HTML('<a class="btn btn-danger" href={% url "monitor" %}>Cancelar</a>')
)
)
class Meta:
model = DetalleRecepcion
@login_required(login_url='/login/')
def RecepModalView(request):
idp = request.GET.get('i')
anio = request.GET.get('a')
mes = request.GET.get('m')
if request.method == 'POST':
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(request.POST, instance=r)
if form.is_valid():
form.save()
return HttpResponseRedirect('/monitor/')
else:
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
r.usuario = request.user
form = RecepcionForm(instance=r)
return render_to_response('recepmodal.html',
{'form':form},
context_instance=RequestContext(request))
我的模态表单模板
{% load crispy_forms_tags %}
<div class="modal fade" id="recmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Register </h4>
</div>
<div class="modal-body">
<form action="" method=post">
<div class="tab-content">
<div class="tab-pane active" id="tab1">
{% crispy form %}
</div>
</form>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Submit</button>
</div>
</div>
</div>
</div>
{%load crispy_forms_tags%}
&时代;
登记
我知道现在回答这个问题已经太迟了,但我在模态中呈现我的表单,并将其使用到“模态体”标记中:
{%csrf_令牌%}
{%form.as_p%}
我希望这项工作能为所有像我这样的人提供帮助,让我们来到这里找到答案
注意。在模式表单的开头表单标记中,您缺少一个引号:method=post“而不是method=“post”-这是一个输入错误还是原始代码中的错误?输入错误。表单工作正常,但我可以在模式窗口中呈现表单
<body>
<table>
.
.
.
</table>
{% include 'recmodal.html' %}
</body>
<form method="post">
{% csrf_token %}
{% form.as_p %}
</form>