gpt4 book ai didi

django、压缩器和基础 scss

转载 作者:行者123 更新时间:2023-12-01 10:55:03 26 4
gpt4 key购买 nike

您好,我正在尝试使用 django-compressor 的预编译器将基础 scss 集成到 django 中,该项目如下所示:

├── manage.py
├── requirements.txt
├── static
│   ├── config.rb
│   ├── humans.txt
│   ├── index.html
│   ├── javascripts
│   │   ├── foundation
│   │   │   ├── foundation.alerts.js
│   │   │   ├── foundation.clearing.js
│   │   │   ├── foundation.cookie.js
│   │   │   ├── foundation.dropdown.js
│   │   │   ├── foundation.forms.js
│   │   │   ├── foundation.joyride.js
│   │   │   ├── foundation.js
│   │   │   ├── foundation.magellan.js
│   │   │   ├── foundation.orbit.js
│   │   │   ├── foundation.placeholder.js
│   │   │   ├── foundation.reveal.js
│   │   │   ├── foundation.section.js
│   │   │   ├── foundation.tooltips.js
│   │   │   └── foundation.topbar.js
│   │   └── vendor
│   │   ├── custom.modernizr.js
│   │   ├── jquery.js
│   │   └── zepto.js
│   ├── MIT-LICENSE.txt
│   ├── robots.txt
│   ├── sass
│   │   ├── app.scss
│   │   ├── normalize.scss
│   │   └── _settings.scss
│   └── stylesheets
│   ├── app.css
│   └── normalize.css
├── templates
│   ├── 404.html
│   ├── 500.html
│   ├── admin
│   │   └── base_site.html
│   └── base.html
└── weddings
├── __init__.py
├── __init__.pyc
├── local_settings.py
├── local_settings.pyc
├── settings.py
├── settings.pyc
├── urls.py
├── urls.pyc
└── wsgi.py

预编译器在 settings.py 中看起来像这样

COMPRESS_PRECOMPILERS = (
('text/x-scss', 'sass --scss --compass {infile} {outfile}'),
)

当我使用 nginx + uwsgi 运行它时,出现以下错误:

Syntax error: File to import not found or unreadable: foundation/foundation-global.
Load paths:
/etc/uwsgi/vassals
/etc/uwsgi/vassals/sass
/srv/www/weddings/gems/compass-0.12.2/frameworks/blueprint/stylesheets
/srv/www/weddings/gems/compass-0.12.2/frameworks/compass/stylesheets
Compass::SpriteImporter
/srv/www/weddings/gems/bourbon-3.1.1/app/assets/stylesheets
/srv/www/weddings/gems/bourbon-3.1.1/app/assets/stylesheets
on line 2 of /srv/www/weddings/weddings/static/sass/_settings.scss
from line 2 of /srv/www/weddings/weddings/static/sass/app.scss
Use --trace for backtrace.

我怀疑它没有读取 config.rb 或 config.rb 中的设置有误:

http_path = "/"
css_dir = "stylesheets"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"

最佳答案

因为您有一个 config.rb 文件,所以您有一个 Compass 项目。

Compass 项目应该使用 compass 命令行工具编译,而不是 sass 命令行工具。

正如您已经发现的那样,应该从项目文件夹中启动编译。但是将路径硬编码到 settings.py 中是个坏主意,因为它会使您的项目不可移植。

您应该使用 os.path.dirname(os.path.realpath(__file__)) 来发现当前脚本的路径,而不是硬编码路径。要更改相对于 settings.py 的文件夹,请像这样使用 os.path.join()(根据需要进行调整,您可以使用 ..):

os.path.join(os.path.dirname(os.path.realpath(__file__)), "static")

此外,您的 settings.py 中可能已经有 PROJECT_DIR var。用它来使这条线更干净。

关于django、压缩器和基础 scss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15559423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com