私の小さなプロジェクトに問題があります。基本的には、自分のサイトにはユーザーアカウントがあり、それぞれが画像をサーバーにアップロードすることができます(ギャラリーのように言うことができます)。明らかに、私はすべての画像を1つのフォルダに表示したくないので、各ユーザの画像はそれぞれのディレクトリに移動するように実装しました。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" の様々なコンボを試してみました。私が間違っていることは何か考えていますか?
お返事ありがとうございます。しかし、私の問題は、削除機能は、ユーザーのディレクトリ内のファイル、一般的なメディアディレクトリだけを削除していないということです。 – Bob