我的小项目有问题。基本上,我的网站将有用户帐户,他们每个人都允许图像上传到服务器(可以说像一个画廊)。很明显,我不希望所有的图像都出现在一个文件夹中,所以我实现了它,以便每个用户的图像只能到各自的目录。Django快速文件删除
问题是,虽然用户可以上传,但我不知道如何制作,以便他们可以删除这些文件。
表“ImageDoc”有一列“imgfile”,它存储文件的名称。
view.py
def image_galleria(request):
LOCATION = request.user.username + "/"
if request.method == 'POST':
form = ImgDocForm(request.POST, request.FILES)
if form.is_valid():
origin_form = form.cleaned_data["user_file"]
origin_name = origin_form.name
new_name = origin_name.split('.')[0] + ".jpg"
original_file = os.path.join(settings.MEDIA_ROOT+LOCATION, new_name)
original_name = ImageDoc(user_id=user_details.id, imgfile=new_name)
original_name.save()
代码工作上面,这样可以节省用户的相应目录。然而...
view.py
@login_required(login_url='sign_in')
def delete_image(request, image_id):
imagex = ImageDoc.objects.get(id=image_id)
LOCATION = request.user.username + "/"
imagex.imgfile.delete(LOCATION)
return HttpResponse("Yes! Deleted file!")
我试过各种连击 “.delete()”,这是行不通的。任何想法我做错了什么?
感谢您的回复。它不工作虽然如此。但此作品: 'imagex.imgfile.delete()' 但我的问题是,删除功能不是删除用户的目录内的文件,只是一般的MEDIA目录。 – Bob