Sass (Syntactically Awesome Style Sheets) 是一种 CSS 预处理器,它扩展了 CSS 的语法,使得编写样式表更加高效和模块化。Sass 提供了变量、嵌套规则、混合宏(mixins)、继承等高级功能。
Flask 是一个轻量级的 Web 应用框架,使用 Python 编写。它提供了必要的工具和技术来构建一个 Web 应用程序。
Jinja2 是 Flask 默认使用的模板引擎,它允许开发者创建 HTML 模板,并在其中嵌入动态内容。
{}
和分号 ;
,而缩进式语法则依赖于缩进来表示嵌套关系。假设我们有一个 Flask 应用,我们想要使用 Sass 来编写样式,并通过 Jinja2 在 HTML 模板中引用这些样式。
pip install flask sass
# app.py
from flask import Flask, render_template
import sass
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
// static/styles/main.scss
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
h1 {
color: #333;
}
在 app.py
中添加一个函数来编译 Sass 文件:
# app.py
import os
import sass
def compile_sass():
sass_path = os.path.join('static', 'styles', 'main.scss')
css_path = os.path.join('static', 'styles', 'main.css')
with open(sass_path, 'r') as sass_file:
css_content = sass.compile(string=sass_file.read())
with open(css_path, 'w') as css_file:
css_file.write(css_content)
compile_sass()
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flask with Sass and Jinja2</title>
<link rel="stylesheet" href="{{ url_for('static', filename='styles/main.css') }}">
</head>
<body>
<h1>Hello, Flask with Sass and Jinja2!</h1>
</body>
</html>
url_for('static', filename='styles/main.css')
。通过以上步骤,你可以成功地将 Sass 与 Flask 和 Jinja2 结合使用,从而创建一个具有动态样式和内容的 Web 应用程序。
领取专属 10元无门槛券
手把手带您无忧上云