Python 带外键的ModelForm
需要Django模型表单的帮助。我想在一个对象(如博客)的末尾创建一个表单,“评论”表单位于“帖子”的末尾,我尝试了几个教程,它们有以下示例:Python 带外键的ModelForm,python,django,modelform,Python,Django,Modelform,需要Django模型表单的帮助。我想在一个对象(如博客)的末尾创建一个表单,“评论”表单位于“帖子”的末尾,我尝试了几个教程,它们有以下示例: class formCom(ModelForm): class Meta : model = Comentario exclude = ["idE"] def poncomentario(request, pk): p = request.POST if 'message' in p: author = 'Anonymou
class formCom(ModelForm):
class Meta :
model = Comentario
exclude = ["idE"]
def poncomentario(request, pk):
p = request.POST
if 'message' in p:
author = 'Anonymous'
if p['author']:
author = p["author"]
comment = Comment(idE = Post.objects.get(pk=pk))
cf = formCom(p, instance = comentario)
cf.fields["author"].required = False
comment = cf.save(commit = False)
comment.author = author
comment.save()
return HttpResponseRedirect(reverse("bloging.views.post", args=[pk]))
我尝试了同样的方法,但我的模型“Evolucion”有20个字段:
def evo_crear(request,reg):
if request.method == 'POST':
evol = Evolucion(idhisto = HistoriaClinica.objects.get(pk=reg))
form = EvoForm(request.POST, instance = evol)
evol = form.save(commit = False)
evol.save()
else:
form = EvoForm()
return HttpResponseRedirect(reverse("Historias.views.detalle", args=[reg]))
在forms.py,我有:
from django import forms
from Historias.models import *
class HistoForm(forms.ModelForm):
class Meta:
model = HistoriaClinica
class EvoForm(forms.ModelForm):
class Meta:
model = Evolucion
exclude = ["idhisto"]
在模板上:
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Save" />
{%csrf_令牌%}
{{form.as_p}}
但我的表格从来不会只显示“输入”。我做错了什么?
Python3.4和Django 1.7这是因为在您的视图中,从未在上下文中发送表单对象。查看
render
方法..我应该使用return render\u to\u response('Histo/detail.html',{'form':form},context\u instance=RequestContext(request))