2017-11-17 240 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