是一个上传的图像,Django中的静态文件?

时间:2014-06-12 20:38:27

标签: django django-file-upload

我正在开发Django 1.6中的应用程序,并想知道我通过管理界面上传的照片是否是Django术语中的“静态文件”。

我有这个型号:

from django.db import models

class ShowroomDetail(models.Model):
    title = models.CharField(max_length=1000)
    description = models.CharField(max_length=4000)     

class ShowroomPhoto(models.Model):
    showroom = models.ForeignKey(ShowroomDetail, related_name='photos')
    photo = models.ImageField(upload_to='images/')

我用它作为开发页面的基础,其中可以有一个或多个图像与标题和描述一起显示。图像将仅由管理界面上传,并且可以在以后添加该页面的更多照片。

这些上传的照片是“静态文件”吗?

2 个答案:

答案 0 :(得分:4)

没有。通过网站上传的图像将存储在MEDIA_ROOT文件夹中。它被认为是媒体文件而不是静态文件。对于您的示例,如果MEDIA_ROOT = '/path/to/project/media/,则您的照片将存储在media/images/

不同之处是 staticfiles 将为每个应用程序收集,并且是代码的一部分。通常它是设计的图像,CSS文件,Javascript等。它们运行项目
媒体文件是通过管理或用户通过特殊应用程序上传的文件,以添加内容(头像,图库图片,邮件附件......)。此内容独立于项目代码,并被视为内容。

相关:What is the difference between static files and media files in Django?

答案 1 :(得分:-1)

“静态文件”作为术语,是指静态文件以及为其配置的位置。如果您将静态文件上载到静态文件使用的位置,则可以找到上载的文件。显然,安全问题比比皆是。