Flask-模版控制语句

这篇博客介绍了Jinja模板引擎中的控制语句,特别是`if`和`for`的使用。`if`语句支持Python的比较运算符和逻辑操作,而`for`循环则能遍历序列,包括反向遍历。值得注意的是,Jinja模板不支持`continue`和`break`语句。
摘要由CSDN通过智能技术生成

所有的控制语句都是放在{% … %}中,并且有一个语句{% endxxx %}来进行结束,Jinja中常用的控制语句有if/for…in…
if:if语句和python中的类似,可以使用>,<,<=,>=,==,!=来进行判断,也可以通过and,or,not,()来进行逻辑合并操作

for…in…:for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历
在这里插入图片描述
另外,不可以使用continue和break表达式来控制循环的执行。

# @ Time : 2020/4/11 23:41
# @ Author : Ellen
from flask import Flask,render_template

app = Flask(__name__)
app.config["TEMPLATES_AUTO_RELOAD"] = True

@app.route("/")
def index():
    context = {
        "username": "ellen",
        "books": ["Python","Java","PHP"],
        "users":{
            "name": "ellen",
            "age": 19,
            "address": "shanghai"
        }
    }
    return render_template("if_for.html",**context)


if __name__ == '__main__':
    app.run(debug=True,port=8080)

创建 if_for.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- {{ 变量 }} -->
{# {% 函数 if for %} #}


{% if username == "ellen1" %}
    <p>{{ username }}</p>
{% else %}
    <p>当前的用户名不是ellen...</p>
{% endif %}

{% for book in books %}
    <p>{{loop.index}}</p>
    <p>{{ book }}</p>
{% endfor %}

{% for user in users %}
    <p>{{ user }}</p>
{% endfor %}

{% for key,value in users.items() %}
    <p>{{ key }}</p>
    <p>{{ value }}</p>
{% endfor %}
<hr>
{% for key in users.keys() %}
    <p>{{ key }}</p>
{% endfor %}
<hr>
{% for value in users.values() %}
    <p>{{ loop.first }}</p>
    <p>{{ value }}</p>
{% endfor %}


</body>
</html>

在这里插入图片描述
在这里插入图片描述

要使用 Flask-Mail 发送简易美观的 HTML5 邮件,需要进行以下步骤: 1. 创建一个 HTML5 邮件模板,可以使用类似于 Bootstrap 的 CSS 框架来美化邮件的样式。 2. 在 Flask 应用中配置 Flask-Mail。 3. 创建一个邮件函数,该函数需要使用 Flask-Mail 提供的 `Message` 类来构建邮件内容,可以使用 `html` 参数来指定 HTML5 邮件模板。 以下是一份示例代码,供参考: ```python from flask import Flask, render_template from flask_mail import Mail, Message app = Flask(__name__) app.config['MAIL_SERVER'] = 'smtp.example.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USE_SSL'] = True app.config['MAIL_USERNAME'] = 'your-email@example.com' app.config['MAIL_PASSWORD'] = 'your-email-password' mail = Mail(app) @app.route('/send-mail') def send_mail(): recipient = 'recipient@example.com' message = Message('Subject of the Mail', recipients=[recipient]) message.html = render_template('email_template.html') mail.send(message) return 'Mail sent successfully!' if __name__ == '__main__': app.run() ``` 在上面的代码中,我们首先配置了 Flask-Mail,指定了 SMTP 服务器、端口、SSL、用户名和密码等信息。然后,我们创建了一个 `send_mail` 函数,该函数构建了一个 `Message` 对象,并使用 `render_template` 函数渲染了一个 HTML5 邮件模板,并将其赋值给了 `html` 参数。最后,我们使用 Flask-Mail 的 `send` 方法发送了邮件。 请注意,上述代码中的 `email_template.html` 文件是一个 HTML5 邮件模板,可以使用类似于 Bootstrap 的 CSS 框架来美化邮件的样式。在 `email_template.html` 文件中,您可以使用 Flask 提供的 `{{ }}` 语法来插入变量、循环和条件语句等。 希望这可以帮助你发送美观的 HTML5 邮件!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值