答案 0 :(得分:1)
首先,静态根用于生产。如果您希望Django在django项目的顶层(manage.py所在的位置)选择模板,则需要添加到settings.py:
STATICFILES_DIRS = [ os.path.join(BASE_DIR,“静态”), ]
STATICFILES_DIRS告诉django在添加到其中的路径中查找模板。例如,我希望django在djang-folder / static和django-folder / other中寻找模板,staticfile_dirs应该如下所示:
STATICFILES_DIRS = [ os.path.join(BASE_DIR,“静态”), os.path.join(BASE_DIR,“其他”), ]
这里有更好的解释:https://django.readthedocs.io/en/latest/howto/static-files/
在这里:https://www.youtube.com/watch?v=5yjInLsy6P8
还有另一件事:在第二个屏幕截图的第一行上,取消注释{%load static%},否则它将不会拾取任何静态文件。
答案 1 :(得分:0)
您需要为本地项目添加STATIC_DIRS。
您可以在Django documentation中找到这些设置。这是我在文档中的定义和引文:
MEDIA_ROOT
是使用FileField
上传的文件所在的文件夹。
将保存user-uploaded files的目录的绝对文件系统路径。
STATIC_ROOT
是使用manage.py collectstatic
collectstatic
将收集用于部署的静态文件的目录的绝对路径。如果启用了
staticfiles
贡献应用程序(默认),则collectstatic
管理命令会将静态文件收集到该目录中。有关用法的更多详细信息,请参见有关管理静态文件的方法。
STATICFILES_DIRS
是Django将在其中搜索安装的每个应用程序的static
文件夹之外的其他静态文件的文件夹列表。
此设置定义了启用
FileSystemFinder
查找程序时staticfiles应用将遍历的其他位置,例如如果您使用collectstatic
或findstatic
管理命令或使用静态文件服务视图。
在设置中,您应该具有:
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),]
...其中:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
现在在默认Django settings.py
中定义。