Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 Django UpdateView/ImageField问题:未返回新上载的图像_Python_Django_Imagefield - Fatal编程技术网

Python Django UpdateView/ImageField问题:未返回新上载的图像

Python Django UpdateView/ImageField问题:未返回新上载的图像,python,django,imagefield,Python,Django,Imagefield,型号: 视图: 模板: class LogoEdit(UpdateView): model = Logo template_name = 'polls/logo-edit.html' success_url = '/polls/logos/' def form_valid(self, form): pdb.set_trace() {%csrf\u令牌%} {{form.as_p}} 选择新图像: 调试视图: 现有图像: <form id="my_form

型号:

视图:

模板:

class LogoEdit(UpdateView):
  model = Logo
  template_name = 'polls/logo-edit.html'
  success_url = '/polls/logos/'

  def form_valid(self, form):
    pdb.set_trace()
{%csrf\u令牌%}
{{form.as_p}}
选择新图像:

调试视图:

现有图像:

  <form id="my_form" action="" method="post">{% csrf_token %}
      {{ form.as_p }}
      <input type="submit" value="Save Changes" />
  </form>
(Pdb)self.object
带有新选定图像的表格(DSC_0021.JPG):

(Pdb)test=form.save()
(Pdb)试验

正如您所见,原始图像仍保持原样

您需要保存提供request.FILES的表单:

(Pdb) test = form.save()
(Pdb) test
<Logo: media/uploads/DSCN0844.JPG>
在HTML表单中(因为表单中有一个
):



如果使用的是
UpdateView
,则只需向模板中的表单标记添加
enctype=“multipart/form data”
属性即可。其余部分将由
UpdateView
类处理。

只需添加到模板中即可

<form method="POST" enctype="multipart/form-data">

你能明确地问一个问题吗?例如,我在你的模板中没有看到你试图呈现上传的图像。-就是这样,谢谢-它成功了,谢谢你有同样的问题,添加到表单中解决了它!
(Pdb) test = form.save()
(Pdb) test
<Logo: media/uploads/DSCN0844.JPG>
if request.method == 'POST':
    form = MyForm(request.POST, request.FILES)
    if form.is_valid():
        form.save()
<form method="POST" enctype="multipart/form-data">
 <form method="POST" enctype="multipart/form-data">