我使用model.FileField方法上传文件,但我对如何实际返回上传文件的路径感到茫然(我无法重新创建路径,因为可能存在重复文件和imagename更改)
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路径等的引用,但它们抛出错误 - 没有属性文档。是否可以使用上述方法获取保存文件的实际路径,包括可能更改的文件名?
答案 0 :(得分:1)
您可以获取访问newdoc.docfile.path
的文件的完整文件系统路径 - 在模板中,您肯定希望使用{{ newdoc.docfile.url }}
属性。有关详细信息,请参阅documentation on FileField。