如何将文件上载到Django中的特定文件夹?

2024-10-02 18:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在用户上传2.ini文件后,我希望它将这两个文件保存在下面的文件夹中。在

媒体/上传配置/打印机/塑料/

但是,它当前正在保存到下面的地址。在

媒体/上载配置/无/


下面是上载文件的代码。
模型.py在

def UploadedConfigPath(instance, filename):

    return os.path.join('uploadedconfigs', str(instance.id), filename)

class ConfigFiles(models.Model):

    Printer = models.CharField(_('Printer Model'),
    max_length=100, blank=True, null=True, unique=False)
    Plastic = models.CharField(_('Plastic'),    
    max_length=40, blank=True, null=True, unique=False)
    creator = models.CharField(_('Creator'),
    max_length=40, blank=True, null=True, unique=False)
    HDConfig = models.FileField(_('High Detail'), 
    upload_to=UploadedConfigPath)
    LDConfig = models.FileField(_('Low Detail'), 
    upload_to=UploadedConfigPath)

    pub_date = models.DateTimeField(_('date_joined'), 
    default=timezone.now)

我不是“instance”在做什么,但有人告诉我它是什么吐出“None”文件夹名的。我也被告知我可能需要把这些文件放在一个临时文件夹中,但我不确定这需要什么。任何帮助都将不胜感激!在


Tags: 文件instance文件夹falsetruemodelsfilenamenull
2条回答

尝试通过在中设置参数来使用原始方法设置.py在

 MEDIA_ROOT = join(PROJECT_ROOT, '../media/')"
 MEDIA_URL = '/media/'

在您的文件中:

^{pr2}$

您可以将函数UploadedConfigPath替换为:

def UploadedConfigPath(instance, filename):
    return os.path.join('uploadedconfigs', 'Printer', 'Plastic', filename)

编辑:

这应该做到:

^{pr2}$

相关问题 更多 >