请给我一个flask模版引擎block语法的案例
时间: 2024-05-13 17:13:42 浏览: 13
当然,我可以给你一个 Flask 模板引擎 block 语法的例子,如下所示:
```
{% extends "base.html" %}
{% block content %}
<h1>Welcome to my website!</h1>
<p>This is my homepage.</p>
{% endblock %}
```
这是一个典型的 Flask 模板文件,使用了继承和 block 语法来定义页面的结构和内容。其中 `{% extends "base.html" %}` 表示这个模板文件继承了 `base.html` 文件的结构和样式,`{% block content %}` 和 `{% endblock %}` 则定义了一个名为 `content` 的块,可以在继承的模板文件中填充具体的内容。
希望这个例子能帮助你理解 Flask 模板引擎的 block 语法。
相关问题
请给我一个flask 模板继承的案例
当然,我很乐意回答这个问题。以下是一个非常简单的 Flask 模板继承案例:
父模板(base.html):
```
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div class="header">
{% block header %}
<h1>Welcome to My Website</h1>
{% endblock %}
</div>
<div class="content">
{% block content %}
<p>This is the default content. Override me!</p>
{% endblock %}
</div>
<div class="footer">
{% block footer %}
<p>Copyright © My Website {% now "Y" %}</p>
{% endblock %}
</div>
</body>
</html>
```
子模板:
```
{% extends "base.html" %}
{% block title %}Home - My Website{% endblock %}
{% block content %}
<h2>Welcome to our website</h2>
<p>We are glad to have you here. Please have a look around.</p>
{% endblock %}
```
在这个例子中,子模板(home.html)扩展了父模板(base.html),并覆盖了其中的几个块。通过这种方式,您可以重复使用布局,同时允许每个页面使用单独的内容。
请给我一个flask 发送邮件的案例
好的,以下是一个使用 Flask 发送邮件的示例代码:
```python
from flask import Flask, render_template, request, flash
from flask_mail import Mail, Message
app = Flask(__name__)
app.config.update(
DEBUG=True,
MAIL_SERVER='smtp.gmail.com',
MAIL_PORT=587,
MAIL_USE_TLS=True,
MAIL_USERNAME='your_email@gmail.com',
MAIL_PASSWORD='your_password'
)
app.secret_key = 'secret_key'
mail = Mail(app)
@app.route('/', methods=['GET', 'POST'])
def home():
if request.method == 'POST':
name = request.form['name']
email = request.form['email']
message = request.form['message']
# Send email
msg = Message(subject='Message from your website',
sender=app.config.get('MAIL_USERNAME'),
recipients=[email])
msg.body = f'Hello {name},\n\nThank you for contacting us. Your message has been received and we will get back to you as soon as possible.\n\nBest regards,\nYour website team\n\nYour message: {message}'
mail.send(msg)
flash('Your message has been sent successfully!')
return render_template('home.html')
return render_template('home.html')
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们首先配置了 Flask-Mail 所需的参数,包括 SMTP 服务器地址、端口号、是否启用 TLS 加密、发件人邮箱和密码。然后,我们创建了一个名为 `mail` 的 `Mail` 对象,并将其与 Flask 应用程序 `app` 关联。
接下来,我们定义了一个名为 `home` 的路由函数,用于处理用户提交的表单数据。当用户提交表单时,我们首先从 `request.form` 中获取用户输入的姓名、邮箱和消息。然后,我们创建一个 `Message` 对象,设置邮件主题、发件人和收件人,并将消息内容添加到邮件正文中。最后,我们使用 `mail.send()` 方法发送邮件,并使用 Flask 的 `flash()` 函数提示用户消息已成功发送。
最后,我们在 `if __name__ == '__main__':` 代码块中启动应用程序。