【问题标题】:Django settings not set未设置 Django 设置
【发布时间】:2016-07-31 16:20:09
【问题描述】:

django-pipeline 遇到问题,需要您设置

settings.STYLUS_BINARY 用于手写笔编译器。

在我的 settings.py 中,我有以下内容:

STYLUS_BINARY = os.path.join(BASE_DIR, 'node_modules', '.bin', 'stylus')

如果我将它打印到控制台,我会看到该文件夹​​:

c:/Users/chowza/myproject/node_modules/.bin/stylus

但是,如果我深入研究实际使用 settings.STYLUS_BINARY 的 django-pipeline 模块并在那里添加打印,我会在打印 settings.STYLUS_BINARY 时看到以下内容:

('usr/bin/env/','stylus')

这就是STYLUS_BINARY的默认路径是根据django-pipeline设置的

这个模块的顶部是一个函数,上面写着from pipeline.conf import settings,所以我假设我的设置文件正在被导入。

这告诉我我的settings.STYLUS_BINARY 没有设置。

我正在使用python manage.py collectstatic --settings myproject.settings,以便可以使用settings.STYLUS_BINARY 将手写笔文件编译为css。

所以我的问题是为什么未设置设置变量?我做错了什么?

注意:这是在 Windows 和 Heroku 部署上测试的

【问题讨论】:

  • 您是否收到任何错误日志?
  • @Jclarke 该错误是一个非描述性错误,表示运行 django-pipeline 的 stylus_compiler 时缺少文件,因此我在 stylus_compiler 中打印了settings.STYLUS_BINARY 的位置,发现它说@987654335 @ 而不是 c:/users/chowza/myproject/node_modules/.bin/stylus 这是我所期望的,因为我在我的设置文件中写了它
  • 嘿,我刚刚测试了它得到了同样的错误。我更新了我的压缩器,错误消失了,所有未收集的文件都被收集了。
  • @Jclarke 更新压缩器是什么意思?截至上周,我的压缩机已安装 npm。我无法想象它们已经过时了。
  • 我的意思是在设置中。不过我会忽略它。

标签: python django django-settings django-pipeline


【解决方案1】:

为此花了几天时间。浪费了很多时间。

文档不好的图书馆很糟糕。

在 settings.py 中

STYLUS_BINARY = os.path.join(BASE_DIR, 'node_modules', '.bin', 'stylus')

应该是:

PIPELINE['STYLUS_BINARY'] = os.path.join(BASE_DIR, 'node_modules', '.bin','stylus'),

这是假设您有一个node_modules/.bin/stylus。重要的是它不是设置为常量,而是设置为 PIPELINE 的哈希。

【讨论】:

    猜你喜欢
    • 2016-04-02
    • 1970-01-01
    • 2016-07-23
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2013-01-26
    相关资源
    最近更新 更多