当前位置: 首页 > article >正文

一周学会Flask3 Python Web开发-在模板中渲染WTForms表单视图函数里获取表单数据

锋哥原创的Flask3  Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

为了能够在模板中渲染表单,我们需要把表单类实例传入模板。首先在视图函数里实例化表单类LoginForm,然后在render_template()函数中使用关键字参数form将表单实例传入模板,user.py

@user_bp.route('/login')
def login():
    loginForm = LoginForm()
    print("标签:", loginForm.username.label)
    print("表单", loginForm.username)
    return render_template('login.html', form=loginForm)

login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>
<form action="login" method="post">
    {{ form.csrf_token }}
    <table>
        <tr>
            <td>
                {{ form.username.label }}:
            </td>
            <td>
                {{ form.username }}
            </td>
        </tr>
        <tr>
            <td>
                {{ form.password.label }}:
            </td>
            <td>
                {{ form.password }}
            </td>
        </tr>
        <tr>
            <td colspan="2">
                {{ form.remember.label }}:{{ form.remember }}
            </td>
        </tr>
        <tr>
            <td>
                {{ form.submit }}
            </td>
        </tr>
    </table>
</form>
</body>
</html>

运行测试:

后端login()视图函数改下,接收post请求:

@user_bp.route('/login', methods=['GET', 'POST'])
def login():
    print(request.method)
    loginForm = LoginForm()
    print("标签:", loginForm.username.label)
    print("表单", loginForm.username)
    if request.method == 'GET':
        return render_template('login.html', form=loginForm)
    else:
        username = loginForm.username.data
        password = loginForm.password.data
        print(username, password)
        return 'ok'


http://www.kler.cn/a/571243.html

相关文章:

  • 大数据测试总结
  • 简易的微信聊天网页版【项目测试报告】
  • GradingPool-Seq使用方法
  • 2025华为OD机试真题目录【E卷+A卷+B卷+C卷+D卷】持续收录中...
  • 【3D格式转换SDK】HOOPS Exchange技术概览(二):3D数据处理高级功能
  • Three.js 入门(光线投射实现3d场景交互事件)
  • 实时音视频通信SDK/API:EasyRTC嵌入式SDK去中心化WebP2P架构设计,Linux、ARM、小程序适配
  • 物联网设备数据割裂难题:基于OAuth2.0的分布式用户画像系统设计!格行代理是不是套路?2025有什么比较好的副业?低成本的创业好项目有哪些?
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-3.1.3高亮与排序的性能陷阱
  • 网上打印平台哪个好用?网上打印资料推荐
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)
  • Glide图片加载优化全攻略:从缓存到性能调优
  • Unity3D 刚体动力学(Rigidbody Dynamics)详解
  • 基于模糊PID控制的供热控制系统设计Simulink仿真
  • SQL注入的分类靶场实践
  • 文本处理Bert面试内容整理-BERT的预训练任务是什么?
  • @Transactional 注解的行为规则
  • 让 LabVIEW 程序更稳定
  • SpringBoot + redisTemplate 实现 redis 数据库迁移、键名修改
  • TCP/IP四层模型:从入门到精通