首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加Django-Asset/ Webassets目录查找assets.py文件时遇到麻烦

添加Django-Asset/ Webassets目录查找assets.py文件时遇到麻烦
EN

Stack Overflow用户
提问于 2017-01-15 05:16:54
回答 1查看 141关注 0票数 0

正在寻找用于Django的Python包来管理资产,使用Sass编译CSS,以及缓存崩溃,并推荐Django-Asset/Webasset。虽然我的目录结构很难安装,但是它在安装上遇到了问题。

默认情况下,它会在每个安装的应用程序中查找assets.py。我希望设置它,以便它位于与settings.py相同的目录中,并将每个应用程序目录中的特定应用程序资产编译为/static/js/static/css

我有django_assetsINSTALLED_APPS。根据医生们的说法,看起来我需要把这个添加到settings.py

代码语言:javascript
复制
ASSETS_MODULES = [
   'project_dir',
]

或者:

代码语言:javascript
复制
ASSETS_MODULES = [
   os.path.join(BASE_DIR, 'project_dir'),
]

或者:

代码语言:javascript
复制
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与做任何事情都不一样。

代码语言:javascript
复制
~/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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41658048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档