静态\u根入设置.py重定向到应用程序中的静态文件夹而不是bas

2024-04-24 08:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难将一个项目部署到heroku,因为它说它找不到静态文件。我的静态文件在一个名为“social”的应用程序中,在一个名为“static”的文件夹中,它们不在基本目录中管理.py是。
--第12页(文件夹)-设置.py
--社交(文件夹)-静态(文件夹)-css、图像、javascript
--管理.py你知道吗

heroku医生说把这个放在你的设置.py地址:

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

所以我的问题是,如何让它指向我社交应用程序中的静态文件夹。我已经试了一个小时了。谢谢你的帮助。你知道吗


Tags: 文件path项目py文件夹应用程序baseheroku
1条回答
网友
1楼 · 发布于 2024-04-24 08:23:11

好吧,你不想把你的静态根指向你的社交网络。这就是django best Practice所说的。你知道吗

根据您当前的设置(考虑到您尚未更改基本目录)。您告诉django在名为staticfiles的文件夹中查找静态文件,该文件夹位于根级别。你知道吗

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

当你跑的时候

python manage.py collectstatic

django查找所有名为static的文件夹,复制其内容并将其放在static\u根目录下。你知道吗

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

在运行collectstaic命令之后,理想情况下这就是您在staticfiles文件夹中想要的。你知道吗

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

一旦这一点到位,django应该能够在生产环境中找到静态文件。你知道吗

但为了这一切的发生。确保在你的应用程序中你的商店静态文件像这样。你知道吗

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

按此格式排列文件并运行collectstaic。确保staticfiles包含上述内容。你应该很好。你知道吗

相关问题 更多 >