Django 模型表单实例未通过
我将模型的一个实例传递到modelForm中,但是在视图中,当我打印表单时,模型中的值不会显示。另外,在我的模板上呈现表单时,实例中的值不会显示 视图.pyDjango 模型表单实例未通过,django,django-forms,Django,Django Forms,我将模型的一个实例传递到modelForm中,但是在视图中,当我打印表单时,模型中的值不会显示。另外,在我的模板上呈现表单时,实例中的值不会显示 视图.py def support_ticket_view(request, id=None): id = int(id) instance = SupportTicket.objects.get(id=id, user=user) form = SupportTicketEditForm(request.POST or
def support_ticket_view(request, id=None):
id = int(id)
instance = SupportTicket.objects.get(id=id, user=user)
form = SupportTicketEditForm(request.POST or None, request.FILES or None, instance=instance)
context = {
'form': form,
}
return render(request, 'accounts/support_ticket_view.html', context)
class SupportTicketEditForm (forms.ModelForm):
def __init__(self, *args, **kwargs):
self.instance = kwargs.pop('instance',None)
super(SupportTicketEditForm, self).__init__(*args, **kwargs)
class Meta:
model = SupportTicket
fields = (
'image',
'body_question',
'urgency',
'question_type',
'status',
)
widgets = {
'image': ImageThumbnailFileInput
}
class SupportTicket(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
question = models.TextField(max_length=10000, null=True, blank=False)
def __str__(self):
return self.user.username
forms.py
def support_ticket_view(request, id=None):
id = int(id)
instance = SupportTicket.objects.get(id=id, user=user)
form = SupportTicketEditForm(request.POST or None, request.FILES or None, instance=instance)
context = {
'form': form,
}
return render(request, 'accounts/support_ticket_view.html', context)
class SupportTicketEditForm (forms.ModelForm):
def __init__(self, *args, **kwargs):
self.instance = kwargs.pop('instance',None)
super(SupportTicketEditForm, self).__init__(*args, **kwargs)
class Meta:
model = SupportTicket
fields = (
'image',
'body_question',
'urgency',
'question_type',
'status',
)
widgets = {
'image': ImageThumbnailFileInput
}
class SupportTicket(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
question = models.TextField(max_length=10000, null=True, blank=False)
def __str__(self):
return self.user.username
型号.py
def support_ticket_view(request, id=None):
id = int(id)
instance = SupportTicket.objects.get(id=id, user=user)
form = SupportTicketEditForm(request.POST or None, request.FILES or None, instance=instance)
context = {
'form': form,
}
return render(request, 'accounts/support_ticket_view.html', context)
class SupportTicketEditForm (forms.ModelForm):
def __init__(self, *args, **kwargs):
self.instance = kwargs.pop('instance',None)
super(SupportTicketEditForm, self).__init__(*args, **kwargs)
class Meta:
model = SupportTicket
fields = (
'image',
'body_question',
'urgency',
'question_type',
'status',
)
widgets = {
'image': ImageThumbnailFileInput
}
class SupportTicket(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
question = models.TextField(max_length=10000, null=True, blank=False)
def __str__(self):
return self.user.username
删除以下内容:
def __init__(self, *args, **kwargs):
self.instance = kwargs.pop('instance',None)
super(SupportTicketEditForm, self).__init__(*args, **kwargs)
谢谢丹尼尔·罗斯曼 删除了以下内容:
def __init__(self, *args, **kwargs):
self.instance = kwargs.pop('instance',None)
super(SupportTicketEditForm, self).__init__(*args, **kwargs)
谢谢丹尼尔·罗斯曼 但是您的实例只包含
'user'
和'question'
,而您的表单似乎包含'image'
,'body\u question'
,'emergency'
等。您为什么要在\uu init\uuuu>中从kwargs弹出实例?事实上,你为什么要定义\uuuu init\uuu
?嗨,丹尼尔,你说得对。我已经删除了definit,现在它可以工作了:)再次感谢。永远感谢你的帮助!但是您的实例只包含'user'
和'question'
,而您的表单似乎包含'image'
,'body\u question'
,'emergency'
等。您为什么要在\uu init\uuuu>中从kwargs弹出实例?事实上,你为什么要定义\uuuu init\uuu
?嗨,丹尼尔,你说得对。我已经删除了definit,现在它可以工作了:)再次感谢。永远感谢你的帮助!