【问题标题】:Passing Parameters to upload_to Parameter in Django File Upload将参数传递给 Django 文件上传中的 upload_to 参数
【发布时间】:2017-12-27 06:30:09
【问题描述】:

我正在使用以下帖子在 Django 中上传文件:https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html

在帖子中,它提到upload_to 参数可以是一个返回字符串的可调用对象。在提供的示例中,可调用对象接受两个参数,实例和文件名,如下所示:

def user_directory_path(instance, filename):
    # file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
    return 'user_{0}/{1}'.format(instance.user.id, filename)

class MyModel(models.Model):
    upload = models.FileField(upload_to=user_directory_path)

在什么时候以及如何将参数传递给upload_to?我在用 form.save(commit=True)

将表单值保存到数据库。任何帮助,将不胜感激。谢谢。

【问题讨论】:

    标签: python django file-upload


    【解决方案1】:

    您不必显式提供任何参数。在模型声明中,'upload_to' 是一个函数的引用,它在调用时会自动接收参数。这里的“实例”是您的对象的数据库行,“文件名”是由 django 模型生成的。

    【讨论】:

      猜你喜欢
      • 2014-11-08
      • 1970-01-01
      • 2014-02-03
      • 2014-12-12
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2011-01-12
      • 2013-06-30
      相关资源
      最近更新 更多