Python Django上传图像的路径
学习Django,我想建立一个人们可以上传图片的网站。整个帐户应用程序创建帐户,更改密码等都完成了,现在我必须创建一个应用程序,允许用户上传图像。 我现在正在编写最终的模板,但我不知道如何指定保存图片的路径 我创建了一个图像模型,将用户提供的图像文件保存到/media/images目录中,如下所示:Image=models.ImageFieldupload\u to='images' 用户必须填写的表格为:Python Django上传图像的路径,python,django,image,path,upload,Python,Django,Image,Path,Upload,学习Django,我想建立一个人们可以上传图片的网站。整个帐户应用程序创建帐户,更改密码等都完成了,现在我必须创建一个应用程序,允许用户上传图像。 我现在正在编写最终的模板,但我不知道如何指定保存图片的路径 我创建了一个图像模型,将用户提供的图像文件保存到/media/images目录中,如下所示:Image=models.ImageFieldupload\u to='images' 用户必须填写的表格为: class ImagePost(forms.ModelForm): class
class ImagePost(forms.ModelForm):
class Meta:
model = Image
fields = ('image','description','title')
因此,他必须提供图像、描述和标题描述以及标题是类图像模型的其他两个属性
以下是处理逻辑部分的视图:
@login_required
def image_create(request):
if request.method == 'POST':
# form is sent
form = ImagePost(data=request.POST)
if form.is_valid():
# form data is valid
cd = form.cleaned_data
new_item = cd.save(commit=False)
# assign current user to the item
new_item.user = request.user
new_item.save()
# redirect to new created item detail view
return render(request,
'images/all_images.html',
{'new_item': new_item})
else:
# build form with data provided by the bookmarklet via GET
form = ImagePost(data=request.GET)
return render(request,
'images/image/create.html',
{'section': 'images',
'form': form,
})
最后,处理表单的模板当前如下所示:
{% extends "base.html" %}
{% block title %}Post an image{% endblock %}
{% block content %}
<h1>Post an image</h1>
<form action="." method="post">
{{ form.as_p }}
{% csrf_token %}
<input type="submit" value="Post it!">
</form>
{% endblock %}
当用户上传图片时,现在位于my media/images目录中的文件名与用户PC上的文件名相同
如何找到该名称,以便指定Django要显示的文件?或者是否有方法重命名文件,使其与用户介绍的标题匹配
<img src="media/images/WHAT_IS_YOUR_NAME" class="image-preview">
只用
其中图像是图像模型的实例,第二个图像是图像的模型字段,url是ImageField对象的属性。更多信息,请列出第3项。是否应该有类似的内容:,当用户提交表单时,将使用用户提供的信息和文件创建图像模型的新实例。或者也许?第一个就可以了!检查一下。您不提供模型中的代码!!成功了!很抱歉耽搁了这么久。我的应用程序代码总体上似乎有很多错误,无法让服务器运行来测试它。谢谢没问题。很高兴我能帮忙!