首页 > 其他分享 >五分钟,用flask做一个简单的交互页面

五分钟,用flask做一个简单的交互页面

时间:2024-07-31 11:27:08浏览次数:9  
标签:__ name form flask app 表单 Flask 五分钟 页面

Python 作为一个万能且简单的编程语言,其在各个领域都有着很好的表现。

其中在 Web 领域,也有大名鼎鼎的 Django 和 Flask,今天我们就通过 Flask,用五分钟写一个简单的交互页面!

基本功能

1、安装 Flask

在命令行中输入 pip install flask 即可安装 Flask。

2、创建 Flask 应用

在 Python 文件中,首先需要导入 Flask 模块,然后创建一个 Flask 应用对象。

示例代码如下:

from flask import Flask

app = Flask(__name__)

这个代码会创建一个名为 app 的 Flask 应用对象。

3、编写路由

在 Flask 应用中,路由用于指定请求的 URL 与相应的处理函数之间的关系。可以使用 @app.route() 装饰器来定义路由。

示例代码如下:


@app.route('/')
def index():
    return 'Hello, World!'

这个代码定义了一个名为 index() 的路由,它处理根路径 / 的请求,并返回字符串 'Hello, World!'。

4、运行应用

在命令行中输入 python app.py,其中 app.py 是你的 Python 文件名。这会启动 Flask 应用,并监听默认端口号(80)。

在浏览器中访问 http://localhost:5000,就可以看到页面上显示的 "Hello, World!" 的文本。

增强功能

下面我们增加一些高级功能,比如表单和提交

我们使用 Flask 中的 form 模块,这个模块提供了处理表单数据的方法和工具。

使用 Flask 和 form 模块创建一个简单的表单页面,并将表单数据提交到数据库中


from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired

app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'

class UserForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired()])
    email = StringField('Email', validators=[DataRequired()])
    submit = SubmitField('Submit')

@app.route('/', methods=['GET', 'POST'])
def index():
    form = UserForm()
    if form.validate_on_submit():
        # 将表单数据保存到数据库中
        user = User(name=form.name.data, email=form.email.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('index.html', form=form)

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

在上面的代码中,我们首先导入了需要的模块和类。然后定义了一个名为 UserForm 的表单类,它包含了三个字段:name、email 和 submit。其中 name 和 email 分别使用了 StringField 和 StringField,而 submit 则使用了 SubmitField。在表单类中还定义了一些验证器,用于确保表单数据的合法性。

接下来,我们在路由函数中创建了一个 UserForm 实例,并将其传递给模板进行渲染。如果用户提交了表单数据,并且表单验证通过,我们就会将表单数据保存到数据库中,并重定向到主页。否则,我们会将表单呈现给用户进行填写。

最后,我们在主函数中启动了应用,并开启了调试模式。这样就可以在本地运行应用,并访问 http://localhost:5000/来测试表单功能了。

好了,以上就是今天的分享,代码非常简单,5分钟直接搞定!

标签:__,name,form,flask,app,表单,Flask,五分钟,页面
From: https://blog.csdn.net/Richardlygo/article/details/140685371

相关文章

  • flask 框架日志
       除了自定义配置的log日志外,flask框架的有自己的日志处理机制,使用它的好处就是出现异常,即使没有捕获也能打印到日志里,方便定位问题。importsysfromlogging.handlersimportTimedRotatingFileHandlerfromloggingimportStreamHandlerfromloggingimportFormatter......
  • 如何匹配Flask中的所有路由?
    我想匹配所有路由并处理Flask中所有收到的HTTP请求。代码如下:fromflaskimportFlaskfromflaskimportrequestapp=Flask(__name__)@app.route('/<path:full_path>',methods=['GET','PUT','DELETE','POST'])defcatch_a......
  • gradio 之页面布局
     输出组件的可交互,默认垂直排列importgradioasgrdefgreet(name):return"Hello"+name+"!"withgr.Blocks()asdemo:name=gr.Textbox(label="Name")#不可交互#output=gr.Textbox(label="OutputBox")#可交互......
  • 微信小程序开发中的动画效果和页面过渡
    微信小程序的动画效果和页面过渡可以通过使用wx.createAnimation()方法来实现。wx.createAnimation()可以创建一个Animation对象,然后我们可以通过该对象调用不同的方法来控制动画的效果和过渡。下面我将详细介绍动画效果和页面过渡的常用方法和案例代码。在开始之前,请确保已经......
  • 计算机毕业设计django/flask+uniapp私人定制商品订单系统hbuiderx微信小程序
    私人订制订单发布与对应商品出售平台方面的任务繁琐,以至于每年都在私人订制订单发布与对应商品出售平台这方面投入较多的精力却效果甚微,私人订制订单发布与对应商品出售平台的目标就是为了能够缓解私人订制订单发布与对应商品出售平台管理面临的压力,让私人订制订单发布与对......
  • [附开题]flask框架的汽车零件维修管理信息平台t6rr1(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车工业的快速发展和汽车保有量的持续增长,汽车零件维修管理已成为汽车后市场的重要组成部分。传统的手工记录和管理方式已难以满足现......
  • [附开题]flask框架的汽车售后管理系统2888o(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车产业的快速发展和消费者购车需求的日益增长,汽车售后服务已成为车企和经销商提升客户满意度、增强品牌忠诚度的重要环节。然而,传统......
  • [附开题]flask框架的社区服务管理系统0f6i9(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的深入和居民生活水平的提高,社区服务需求日益多样化与复杂化。传统的社区服务模式已难以满足居民对于高效、便捷、个性化服......
  • [附开题]flask框架的社区服务系统ff00q(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的快速发展和居民生活水平的提高,社区作为城市的基本单元,其服务功能日益丰富和多样化。然而,传统社区服务方式在应对日益增长的居民......
  • 第19章 分页机制和动态页面分配
    本章学习目标了解页目录、页表的结构和作用清楚为什么当我们访问一个段的某单元时,处理器能准确的知道它在哪个页,以及页内位置的基本原理1.分页机制概述。1.1简单的分页模型分段的内存管理模式依靠的是段部件。段地址加上偏移量就是线性地址,分页模式没有开启的时候这就......