Python 检查Django中是否存在文件

Python 检查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)

我已经创建了newclaim.html和editclaims.html。newclaims.html允许我上载文件,而editclaims.html允许我检索文件

目前,我可以检索上传的文件,但我想做一个if-else。我想做一个if-else,在上传新文件时删除旧文件

这是我的观点。py

**# 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'如何替换如上所示的文件路径?