是否可以将路径字符串作为 django 文件字段的参数?

Posted

技术标签:

【中文标题】是否可以将路径字符串作为 django 文件字段的参数?【英文标题】:is it possible to have path string as the argument to django filefield? 【发布时间】:2015-01-09 09:33:18 【问题描述】:

我必须创建并保存包含文件字段和下载附件的 django 模型。

somefield = models.FileField(upload_to='somefolder/%Y/%m/%d')

我已经下载了附件,但是当我将下载附件的路径作为文件字段上传到参数时,附件没有被保存。我检查了文件夹,找不到文件。

我的程序如下

1.下载附件并保存。

2.使用文件字段调用模型。

path='path_to_downloaded_attachment'
obj = somemodel.objects.create(param1=value, param2=value, somefield=path, param3=value)
obj.save()

django 是否期望路径以外的任何参数?

【问题讨论】:

【参考方案1】:

您可以将 lambda 传递给 upload_to:

def generate_filename(instance, filename):
    return find_filename(instance, filename) # based on your rules

class yourmodel(models.Model):
    somefield = models.FileField(upload_to=generate_filename)

【讨论】:

以上是关于是否可以将路径字符串作为 django 文件字段的参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用无效标识符作为 django 表单字段名称

Django模板,向模板标签发送两个参数?

将大型 json 字符串从 Javascript 发布到 Django

是否可以向 Laravel 模型添加非持久属性?

Django 多文件字段

filter获得路径内置参数