首页 > 解决方案 > 为什么 Django 在本地无法检测到我的项目文件夹之外的静态文件?

问题描述

在 Django 模板标签中,我返回了一个位于我的项目文件夹之外的文件路径。我把它放在我的模板中。我的文件如下所示:

myproject (contains project, app, manage.py, etc)
myfolder
|
+----styles.css

在我的模板标签中,这就是我要返回的内容:

from myproject.settings import BASE_DIR
from pathlib import Path

...

def get_outside_file():
    HOME_DIR = Path(BASE_DIR).parent
    return os.path.join(HOME_DIR, 'myfolder/styles.css')

不幸的是,在我的模板中,我收到了这个错误:

"GET /Users/myusername/myfolder/styles.css HTTP/1.1" 404

我显然在那个文件夹中有文件,但 Django 似乎无法检测到它。我该如何解决这个问题?谢谢你的帮助。

顺便说一句,我在 Mac OsX 上,如果有帮助的话。

标签: pythondjangodjango-templatesdjango-staticfiles

解决方案


尝试STATICFILES_DIRS在 settings.py 中添加您的路径,例如

HOME_DIR = Path(BASE_DIR).parent

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
os.path.join(HOME_DIR, 'myfolder/styles.css')]

推荐阅读