微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django新版本3.1,设置文件有一些更改 最新版本:版本3.1:我通常这样设置我的静态文件:

如何解决Django新版本3.1,设置文件有一些更改 最新版本:版本3.1:我通常这样设置我的静态文件:

在Django新版本3.1上,设置文件进行了一些更改,我问我如何继续设置静态文件?我通常的工作方式并没有更多用。

最新版本:

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

版本3.1:

from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

我通常这样设置我的静态文件

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_Dirs = [
    os.path.join(BASE_DIR,'static')
]
STATIC_ROOT = os.path.join(BASE_DIR,'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR,'media_root')

如果我插入import os可以使用,但这是正确的做法吗? 设置此最佳做法是什么? 谢谢吗?

解决方法

此更改使您更轻松地定义STATICMEDIA变量。为此,您甚至不需要导入os,而只需将以下代码添加到settings.py

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent # which shows the root directory of your project

STATIC_ROOT = BASE_DIR / 'static' # is equal to os.path.join(BASE_DIR,'static/')
STATIC_URL = '/static/'

MEDIA_ROOT = BASE_DIR / 'media' # is equal to os.path.join(BASE_DIR,'media/')
MEDIA_URL = '/media/'
,
STATIC_ROOT = BASE_DIR.parent / "static_cdn"

如果要在环境目录中添加STATIC_ROOT,请尝试此操作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。