【Flask】Jinja2之模板中使用url_for

模版中的url_for跟我们后台视图函数中的url_for使用起来基本是一模一样的。也是传递视图函数的名字,也可以传递参数。使用的时候,需要在url_for左右两边加上一个{{ url_for(‘func’) }}
视图:

from flask import Flask,render_template

#todo 初始化Flask项目的服务
app = Flask(__name__)


@app.route('/')
def hello_world():
    return render_template('index.html')

@app.route('/login1/<un>')
def user_login(un):
    print(un)
    return 'ok,用户名{}'.format(un)

if __name__ == '__main__':
    #0.0.0.0:代表当前的系统的所有的ip地址,
    # 设置端口为8080,
    # flask的debug模式:把错误的信息显示到页面中
    app.run(host='0.0.0.0',port=8080,debug=True)

模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<a href="{{ url_for('user_login',un='zilv',id=2) }}">登录</a>

{#<img src="{{ url_for('static',filename='3.jpg') }}">#}

</body>
</html>

点击登录按钮,渲染模板
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您可以按照以下步骤来实现: 1. 在 Flask 应用程序设置路由,以返回 HTML 页面: ```python from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') ``` 2. 创建 HTML 页面,使用 Jinja2 模板引擎来渲染动态内容: ```html <!DOCTYPE html> <html> <head> <title>Flask Button Example</title> </head> <body> <h1>Flask Button Example</h1> <form action="{{ url_for('button_clicked') }}" method="POST"> <button type="submit" name="button_pressed" value="clicked">Click Me!</button> </form> <p>{{ button_status }}</p> </body> </html> ``` 在这个 HTML 页面,我们创建了一个表单,其包含一个提交按钮。当用户单击按钮时,表单将被提交到 `button_clicked` 路由,并且按钮的值将被设置为 "clicked"。我们还使用Jinja2 模板引擎来渲染动态内容,包括按钮的状态。 3. 在 Flask 应用程序设置 `button_clicked` 路由,以处理按钮点击事件: ```python @app.route('/button_clicked', methods=['POST']) def button_clicked(): button_status = 'Button not clicked' if request.form['button_pressed'] == 'clicked': button_status = 'Button clicked' return render_template('index.html', button_status=button_status) ``` 在这个路由,我们检查表单的按钮值是否为 "clicked"。如果是,我们更新按钮状态,并将其传递回 HTML 页面进行渲染。 4. 运行 Flask 应用程序并访问网址: ```python if __name__ == '__main__': app.run(debug=True) ``` 现在您可以在浏览器访问应用程序的 URL,并单击按钮来更新页面上的按钮状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值