Python 检查Django中是否存在文件
我已经创建了newclaim.html和editclaims.html。newclaims.html允许我上载文件,而editclaims.html允许我检索文件 目前,我可以检索上传的文件,但我想做一个if-else。我想做一个if-else,在上传新文件时删除旧文件 这是我的观点。pyPython 检查Django中是否存在文件,python,django,Python,Django,我已经创建了newclaim.html和editclaims.html。newclaims.html允许我上载文件,而editclaims.html允许我检索文件 目前,我可以检索上传的文件,但我想做一个if-else。我想做一个if-else,在上传新文件时删除旧文件 这是我的观点。py **# Submit a new Claim** def newclaim(request): context = initialize_context(request)
**# Submit a new Claim**
def newclaim(request):
context = initialize_context(request)
user = context['user']
if request.method == 'POST':
receipt = request.FILES['receipt_field']
ins = SaveClaimForm(receipt=receipt)
ins.save()
print("The Data has been written")
return render(request, 'Login/newclaim.html/', {'user':user})
# Edit a claim
def editclaims(request,id):
context = initialize_context(request)
user = context['user']
# get original object
claims = SaveClaimForm.objects.get(id=id)
if request.method == 'POST':
# update original object
claims.receipt = request.FILES.get('receipt')
# save it with original `ID`
claims.save()
return render(request, "Login/editclaims.html", {'claims':claims, 'user':user})
您可以检查文件路径中是否存在旧文件并将其删除。可参考以下代码并根据需要进行修改:
def editclaims(request,id):
context = initialize_context(request)
user = context['user']
# get original object
claims = SaveClaimForm.objects.get(id=id)
if request.method == 'POST':
# get the old file name:
old_file = claims.receipt
# update original object
claims.receipt = request.FILES.get('receipt')
# save it with original `ID`
claims.save()
#Delete the old file from os if it exist
#Do not forget to import os
#FILE_PATH = path to your file directory
if os.path.isfile(FILE_PATH+old_file):
os.remove(FILE_PATH+old_file)
return render(request, "Login/editclaims.html", {'claims':claims, 'user':user})
您好,trigo,因为我将文件路径设置为models.py
upload_to='receives/%Y/%m/%D'如何替换如上所示的文件路径?