如何在django中设置scss/sass文件?

jum4pzuy  于 2022-12-20  发布在  Go
关注(0)|答案(2)|浏览(186)

我正在做一个个人项目,我正在使用Django。在这个项目中,我喜欢使用scss/sass风格的文件,但是我不知道如何在我的Django项目中安装和设置。任何帮助都将不胜感激,谢谢!

jyztefdp

jyztefdp1#

为了在django项目中使用scss或sass

步骤1:

在本地机器上安装sass/scss,可以是npm,也可以是Homebrew(我更喜欢npm)
sass installation guide

第二步:

安装后,需要将sass/scss编译为css文件。
为此,运行命令(对于Windows,在cmd中)

sass [your scss file location] [where your css file needs to be stored]

例如...

sass source/stylesheets/index.scss build/stylesheets/index.css

如果你使用的是django,那么你必须在你的项目中使用static文件夹,在这种情况下你应该使用这个命令

sass static/scss/index.scss static/css/index.css

步骤3:

每当scss文件发生更改时,都需要执行上述命令。
为了消除这种情况,请使用**--watch**命令。

sass --watch static/scss/index.scss static/css/index.css
6qfn3psc

6qfn3psc2#

有很多方法可以做到这一点,你可以用Python或NPM来处理scss/sass文件,如果你不想弄乱node.js,我建议你用Python的方法(安装 django-sass-processor):
查看这本清晰的手册-How to Easily Use SASS/SCSS with Django来自webarchivedjango-sass-processor
基本上运行安装:

pip install libsass django-compressor django-sass-processor

添加到配置文件:

INSTALLED_APPS = [
    ...
    'sass_processor',
    ...
]

STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'sass_processor.finders.CssFinder',
]

STATIC_ROOT = BASE_DIR / 'static'

SASS_PROCESSOR_ROOT = STATIC_ROOT

在模板中使用Django-sass-processor:
在模板内部,加载django-sass的库标记,并使用{% sass_src %}而不是{% static %}来加载SCSS/SASS样式表。

{% load sass_tags %}
<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="{% sass_src 'path/to/file.scss' %}" rel="stylesheet" type="text/css" />
        <title>Django Sass</title>
    </head>

    <body>
        <h1>This template's stylesheet was written SASS/SCSS</h1>
    </body>

</html>

相关问题