首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django FileField默认文件

Django FileField默认文件
EN

Stack Overflow用户
提问于 2011-07-19 07:40:21
回答 3查看 14.8K关注 0票数 9

我有一个包含FileField的模型,如下

代码语言:javascript
复制
class Employer(models.Model):
        logo = models.FileField(storage=FileSystemStorage(location=settings.MEDIA_ROOT), upload_to='logos')

问题是如何将"{{ MEDIA_ROOT}}/logos/Anyonous.jpg“这样的默认文件添加到此文件字段中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-19 07:42:34

您可以指定用于该字段的默认文件,如下所示:

代码语言:javascript
复制
class Employer(models.Model):
        logo = models.FileField(storage=FileSystemStorage(location=settings.MEDIA_ROOT), upload_to='logos', default='settings.MEDIA_ROOT/logos/anonymous.jpg')
票数 15
EN

Stack Overflow用户

发布于 2017-01-04 20:08:02

由于上面的解决方案对我并不起作用(settings.MEDIA_ROOT没有被解释,我想忽略媒体文件夹),这里有一个(不知何故)的解决方案,它允许我在图像/文件字段中指定一个静态文件作为默认值:

代码语言:javascript
复制
image = models.ImageField(upload_to="image/", default='..{}img/dashboard/default-header.jpg'.format(settings.STATIC_URL),
                          verbose_name=_(u'image'))

棘手的是,如果您有一个具有多个级别'..‘的MEDIA_URL。这还不够(但您可以简单地使用“../../”)。

票数 0
EN

Stack Overflow用户

发布于 2018-07-18 01:10:31

在您的模型文件中

代码语言:javascript
复制
logo = models.FileField(upload_to='logos', default='logos/logo.png')
titre = models.CharField(max_length=100)

在您的设置中添加

代码语言:javascript
复制
MEDIA_ROOT =  os.path.dirname(os.path.abspath(__file__))
MEDIA_URL = '/logos/'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6740715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档