正在寻找Django的Python包来管理资产,使用Sass编译CSS,还有缓存破坏,建议使用Django-Assets / Webassets。使用我的目录结构无法安装它。
默认情况下,它会在每个已安装的应用中查找assets.py
。我想对其进行设置,使其与settings.py
位于同一目录中,并将每个应用目录中的应用特定资源编译为/static/js
和/static/css
。
我在django_assets
中有INSTALLED_APPS
。根据{{3}},我似乎需要将其添加到settings.py
:
ASSETS_MODULES = [
'project_dir',
]
或者:
ASSETS_MODULES = [
os.path.join(BASE_DIR, 'project_dir'),
]
或者:
ASSETS_MODULES = [
PROJECT_ROOT
]
无论如何,它只会返回No asset bundles were found. If you are defining assets directly within your template, you want to use the --parse-templates option.
即使将assets.py
移动到其中一个应用目录中,它也会查看BASE_DIR/scripts
,这就是我保留manage.py
的位置。同样,改变ASSETS_ROOT
与做任何事都不一样。
~/portal-client
project_dir
apps
account
templates
account
login.html
forms.py
urls.py
views.py
home
templates
home
home.html
urls.py
views.py
results
assets.py
settings.py
urls.py
scripts
manage.py
static
templates
base.html
footer.html
title.html
答案 0 :(得分:1)
对于ASSETS_MODULES
,一些快速笔记,关键词是附加的:
django-assets将自动在每个应用程序中查找
assets.py
个文件,您可以在其中注册您的软件包。 如果要加载其他模块,可以定义此设置。它需要一个可导入模块列表:
即,如果我们在任何应用程序之外有ASSETS_MODULES
个文件,我们只使用assets.py
。在您的情况下,如果project_dir
不是INSTALLED_APP
,我们只会指定此内容。
其次,使用ASSETS_MODULES
时,指定虚线模块路径,而不是目录。在您的情况下,仅当project_dir.assets
不属于project_dir
时才会INSTALLED_APPS
。