gpt4 book ai didi

python - settings.py 中的 Static_Root 重定向到应用程序中的静态文件夹而不是基本根目录

转载 作者:行者123 更新时间:2023-12-01 09:17:34 25 4
gpt4 key购买 nike

我很难将项目部署到heroku,因为它说找不到静态文件。我的静态文件位于名为“static”的文件夹中名为“social”的应用程序中,它们不在 management.py 所在的基本目录中。
--p_12(文件夹)-settings.py
--social(文件夹)-static(文件夹)- css、图像、javascript
--管理.py

heroku 文档说将其放入您的 settings.py 中:

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')   
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)

所以我的问题是,如何让它指向我的社交应用程序中的静态文件夹。老实说,我已经尝试了大约一个小时。感谢您的帮助。

最佳答案

好的,这就是您不想将静态根指向社交的事情。这就是 django 最佳实践所说的。

根据你当前的设置(考虑到你没有改变BASE_DIR)。您告诉 django 在名为 staticfiles 的文件夹中查找静态文件,该文件夹位于根级别。

project_root
|__manage.py
|__staticfiles
|__app_name
|__requirements.txt

当你运行时

python manage.py collectstatic

django 查找所有名为 static 的文件夹并复制其内容并将它们放在 static_root 中。

在您的情况下,内容被转储到静态文件中。

运行collectstaic命令后,理想情况下这就是您在静态文件文件夹中想要的内容。

staticfiles
|___app_1
| |___css
|___js
|___images
|
|___app_2
|___css
|___js
|___images

一旦到位,django 应该能够在生产环境中找到静态文件。

但要发生这种情况。确保在您的应用程序中存储这样的静态文件。

app_name
|____static
|___app_name
| |____css
|____js
|____images

以此格式排列文件并运行collectstaic。确保 staticfiles 具有上述内容。你应该很好。

关于python - settings.py 中的 Static_Root 重定向到应用程序中的静态文件夹而不是基本根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com