正在寻找用于Django的Python包来管理资产,使用Sass编译CSS,以及缓存崩溃,并推荐Django-Asset/Webasset。虽然我的目录结构很难安装,但是它在安装上遇到了问题。
默认情况下,它会在每个安装的应用程序中查找assets.py。我希望设置它,以便它位于与settings.py相同的目录中,并将每个应用程序目录中的特定应用程序资产编译为/static/js和/static/css。
我有django_assets在INSTALLED_APPS。根据医生们的说法,看起来我需要把这个添加到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发布于 2017-01-15 07:13:55
对于ASSETS_MODULES,有几个简短的注释,关键词是附加的:
django--资产将在每个应用程序中自动查找
assets.py文件,您可以在其中注册包。如果希望加载其他模块,则可以定义此设置。它需要一个重要模块的列表:
也就是说,只有在任何应用程序之外都有ASSETS_MODULES文件时,我们才使用assets.py。在您的例子中,我们只会在project_dir不是INSTALLED_APP的情况下指定这一点。
其次,在使用ASSETS_MODULES时,您可以指定一个虚线模块路径,而不是目录。在您的例子中,只有当project_dir.assets还不是INSTALLED_APPS的一部分时,这才是INSTALLED_APPS。
https://stackoverflow.com/questions/41658048
复制相似问题