2017-11-17 238 views
0

我正在使用model.FileField方法上傳文件,但是我對如何實際返回上傳文件的路徑感到迷茫(我無法重新創建路徑,因爲有可能是重複的文件和imagename變化)Django文件上傳 - 文件路徑

Views.py

if form.is_valid(): 

     newdoc = Invoices(docfile = request.FILES['docfile']) 
     newdoc.save() 

Models.py

class Invoices(models.Model): 
    docfile = models.FileField(upload_to='invoices/')  
    timestamp = models.DateTimeField(auto_now_add=True) 
    username = models.CharField(max_length=20, default="default_user") 

我發現了一些對document.uploaded_file路徑等的引用,但是他們拋出一個錯誤 - 沒有屬性文件。是否有可能使用上述方法獲取保存文件的實際路徑,包括可能更改的文件名?

回答

1

您可以獲取文件訪問newdoc.docfile.path的完整文件系統路徑 - 在模板中,您一定要使用{{ newdoc.docfile.url }}屬性。欲瞭解更多信息,請參閱documentation on FileField

+0

完美&謝謝你的鏈接,v有用的參考。 – David