Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带外键的ModelForm_Python_Django_Modelform - Fatal编程技术网

Python 带外键的ModelForm

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

需要Django模型表单的帮助。我想在一个对象(如博客)的末尾创建一个表单,“评论”表单位于“帖子”的末尾,我尝试了几个教程,它们有以下示例:

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))