Python 上传图像和已经保存的图像,这两部分要显示在两个不同的html模板上
我使用Python 上传图像和已经保存的图像,这两部分要显示在两个不同的html模板上,python,django,django-models,django-forms,imagefield,Python,Django,Django Models,Django Forms,Imagefield,我使用modelformset\u factory上传图像,但我想将已经保存的图像(A在下面的链接中)和上传图像(B在下面的链接中)分离到两个不同的html模板上 如何解决这个问题 下面是我的代码: views.py def post_image(request): PictureFormSet = modelformset_factory(Picture, form=PictureForm, extra=3) if request.method == 'POST'
modelformset\u factory
上传图像,但我想将已经保存的图像(A
在下面的链接中)和上传图像(B
在下面的链接中)分离到两个不同的html模板上
如何解决这个问题
下面是我的代码:
views.py
def post_image(request):
PictureFormSet = modelformset_factory(Picture, form=PictureForm, extra=3)
if request.method == 'POST':
formset = PictureFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
return HttpResponse("Upload done!!")
else:
return HttpResponse("Upload Failed!!")
else:
formset = PictureFormSet()
return render(request, "Image.html", {"formset": formset})
models.py
class Picture(models.Model):
article = models.ForeignKey("Article", related_name="article_photo", on_delete=models.CASCADE)
photo = models.ImageField(upload_to="photo", height_field=None, width_field=None, max_length=100)
first_photo = models.BooleanField(default=False)
url.py
path('post/image/', post_image),
html
后置图像
{%csrf_令牌%}
{{formset.management_form}
{formset%中表单的%s}
{{form}}
{%endfor%}
您可以将两个模板呈现为字符串,将它们合并并作为一个字符串发送到浏览器。但我不知道如何在视图代码中拆分两部分。我不知道我是否理解,但您可以使用将两个模板呈现为字符串(每个模板仅使用表单
,不使用
,
)并在添加
,
-返回渲染(请求'base.html',content=template1\u string+template2\u string)
的最终模板中使用这两种方法。我只使用了“save()”函数,该函数在我的视图代码中包含两部分。我不知道如何在视图代码中表示B部分。我猜表示两部分的函数来自“save()”基代码。但我找不到源代码。您可以将两个模板呈现为字符串,将它们合并并作为一个字符串发送到浏览器。但我不知道如何在视图代码中拆分两部分。我不知道我是否理解,但您可以使用将两个模板呈现为字符串(每个模板仅使用表单,不使用
,
)并在添加
,
-返回渲染(请求'base.html',content=template1\u string+template2\u string)
的最终模板中使用这两种方法。我只使用了“save()”函数,该函数在我的视图代码中包含两部分。我不知道如何在视图代码中表示B部分。我猜表示两部分的函数来自“save()”基代码。但是我找不到源代码。
<html lang="zh-Hant-TW">
<head>
<meta charset="UTF-8">
<title>post_image</title>
</head>
<form action="" method="POST" enctype="multipart/form-data">{% csrf_token %}
{{ formset.management_form }}
<table>
{% for form in formset %}
{{ form }}
{% endfor %}
</table>
<input type="submit" value="Sumbit">
</form>