django中app的媒体路径

时间:2017-06-14 15:24:25

标签: django django-models django-forms django-templates django-views

我在django项目中上传文件,我需要一种有效的方法来保存它们。目前我在settings.py中使用以下行在我保存文件的根目录中创建媒体文件夹。

const StaffBio = (props) => {
return (
    <div className={`teamMemberOverlay ${props.active}`} onClick={props.onClick}>
        <div className="teamMemberExpanded">
            <h6>{props.name}</h6>
            <div className="seperator"></div>
            <p className="title">{props.title}</p>
        </div>
    </div>
);
}

但我想保存app目录中的文件。是否可以找到我的app目录的路径?是否可能,我应该如何更改以上几行来完成它?

将媒体文件添加到app目录中它们是存储在根项目目录中的正确方法吗?这是最好的标准吗?

1 个答案:

答案 0 :(得分:3)

这可能不是一个好主意。您可能应该指定一个media文件夹,其中包含以每个应用程序命名的子目录。

媒体文件(如静态文件)理想情况下不应由与Django应用程序相同的Web服务器提供,并且静态+媒体服务器可能没有一种干净的方式在每个应用程序目录中提供媒体目录。

静态和模板文件可以存在于app文件夹中,因为模板具有APP_DIRS选项,当设置为True时,指示Django从app文件夹中加载模板,静态文件由manage.py runserver提供{1}}命令可以通过manage.py collectstatic命令收集和提供。实际上不可能对媒体文件执行collectstatic命令(技术上可以使用django-mediafiles,但这不是我推荐的。)