【发布时间】:2021-03-11 08:04:51
【问题描述】:
我创建了一个包含一些应用程序的 django 项目。最初,我只有一个应用程序,其中有静态文件和模板。随着项目的增长,我向项目中添加了一些其他应用程序,它们仍在从主应用程序内部访问静态文件和模板。在我尝试制作一个简单的产品并使用collectstatic 命令之前,我并没有太在意这个问题。似乎我可以将我的静态文件收集到STATIC_ROOT 目录,但我无法在模板中访问它们。这是我的项目结构:
shop/
-myshop(main app)
--statics
--templates
-(some other apps beside main app)
-shop(directory created by project containing settings.py, manage.py)
这是我的相关@987654324@ 配置:
BASE_DIR = Path(__file__).resolve().parent.parent
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
...
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / 'myshop/static',
]
STATIC_ROOT = BASE_DIR / 'static'
在运行collectstatic 后,django 在项目的根目录中创建了static 目录,但是当我删除或重命名myshop/static 时,我在runserver 中得到静态文件404。
我不知道如何在运行时检查{% load static %} 生成的路径以在此处放置更多信息。是否有任何调试例程可以了解 django 后端在做什么?
【问题讨论】:
标签: django django-templates django-staticfiles