我们正在推动我们的代码今天上线,在我们开始之前,我需要找出放置静态文件的位置。我在项目目录中有一个名为static的文件夹。在里面我有一个管理员和一个图像文件夹。查看文档时,看起来这些不应放在实际项目中。但应该在项目之外。这些是运行代码python manage.py collectstatic
时django附带的文件。但是对于我在网站上使用的css,看起来我应该有另一个名为static的文件夹,将它全部放入。所以我的问题是:我的项目目录中是否有一个名为static的文件夹我在哪里我的css ,我应该还有collectstatic
个文件夹,但是在其他地方还有吗?
我还被告知将我的CSS放在媒体目录中。这听起来不正确,我在django文档中找不到任何关于静态文件的内容。
答案 0 :(得分:1)
您可以将静态文件存储在可以驻留在任何地方的多个文件夹中
在设置
中看起来像这样STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
#You can have multiple directories here
)
在设置
中设置STATIC_ROOTSTATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
当您运行$ python manage.py collectstatic
时
这会将静态文件夹中的所有文件复制到STATIC_ROOT目录中。
这样做的目的是将所有静态文件收集到一个目录中,以便您可以轻松地为它们提供服务。
**注
在设置中设置基目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
答案 1 :(得分:0)
基本上你要做的就是告诉django STATICFILES_DIR设置所有静态文件夹的存在
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'mycssfolder'),
os.path.join(BASE_DIR, 'otherstaticfolder')
]
所以当你运行djangoadmin collecstatic命令时,它会查看所有这些文件夹中的静态文件。