通过flask实现web页面简单的增删改查

reblue520 reblue520     2022-10-19     404

关键词:

通过flask实现web页面简单的增删改查

# 1.后台程序falsk_web01.py

#coding:utf-8

from flask import Flask,render_template,request,redirect
import fileutils
# 引入file_dict用户列表
fileutils.file_read()

app = Flask(__name__)

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

@app.route(/loginaction/, methods = ["POST","GET"])
def login():
    error_msg = ‘‘
    
    if request.method == GET:
        username = request.args.get(username)
        password = request.args.get(password)
    else:
        username = request.form.get(username)
        password = request.form.get(password)

    print(username:%s,password:%s % (username,password))

    if username and password:
        if username == "admin" and password == "admin":
            return redirect(/list)
        else:
            error_msg = "username or password is wrong"
    else:
        error_msg = need username and password

    return render_template(login.html, error_msg = error_msg)

@app.route(/list/)
def userlist():
    userlist = fileutils.file_read().items()
    print(userlist:%s % userlist)
    return render_template(list.html, userlist = userlist)

@app.route(/update/)
def update():
    username = request.args.get(username)
    password = fileutils.file_read().get(username)
    user = [username, password]
    print(update:%s % user)
    return render_template(update.html, user = user)


@app.route(/updateaction/, methods = [POST])
def updateaction():
    params = request.args if request.method == GET else request.form
    
    username = params.get(username)
    password = params.get(password)
    fileutils.file_dict[username] = password
    fileutils.file_write()
    return redirect(/list/)


@app.route(/add/)
def add():
    return render_template(add.html)

@app.route(/addaction/, methods = [POST])
def addaction():
    params = request.args if request.method == GET else request.form
    username = params.get(username)
    password = params.get(password)

    if username in fileutils.file_dict:
        return redirect(/list/)
    else:
        fileutils.file_dict[username] = password
        fileutils.file_write()
        return redirect(/list/)

@app.route(/delete/)
def delete():
    username = request.args.get(username)
    fileutils.file_dict.pop(username)
    fileutils.file_write()
    return redirect(/list/)

if __name__ == "__main__":
    app.run(host = 0.0.0.0, debug = True)


# 2.工具类fileutils.py

# coding:utf-8

file_dict = {}

# file => dict
def file_read():
    
    with open(user.txt) as f:
        for line in f.read().split(
):
            if line:
                tmp = line.split(:)
                file_dict[tmp[0]] = tmp[1]

    return file_dict

# ditc => file
def file_write():
    file_arr = []
    for user,pwd in file_dict.items():
        file_arr.append(%s:%s % (user, pwd))

    print(file_arr)
    with open(user.txt, w) as f:
        f.write(
.join(file_arr))

if __name__ == "__main__":
    print(file_read())
    file_write()

# 3.模板文件templates中的登陆、列表、增删改查页面

①用户登录页面login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<p style="color:red">
    {{error_msg}}
</p>
    <form action=/loginaction/ method="post">
        username: <input type="text" name="username" />
        password: <input type="text" name="password" />
        <input type="submit" value="login">
    </form>
</body>
</html>


②更新用户页面update.html

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

    <form action=/updateaction/ method="post">
        username:{{user[0]}} <input type="hidden" name="username" value="{{user[0]}}" />
        password: <input type="text" name="password" value="{{user[1]}}" />
        <input type="submit" value="update">
    </form>
</body>
</html>

③添加用户页面add.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
    <form action=/addaction/ method="post">
        username: <input type="text" name="username" />
        password: <input type="text" name="password" />
        <input type="submit" value="add">
    </form>
</body>
</html>

④列表页面list.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>user</td>
        <td>pwd</td>
        <td>action</td>
    </tr>
    {% for user in userlist %}
    <tr>
        <td>{{user[0]}}</td>
        <td>{{user[1]}}</td>
        <td>
            <a href="/delete/?username={{user[0]}}">delete</a>
            <a href="/update/?username={{user[0]}}">update</a>
            <a href="/add/">add</a>
        </td>
    </tr>
    {% endfor %}
</table>
</body>
</html>

4.用户信息文件

user.txt

tom:123
jack:123
user2:000
user1:pwd1

 

jdbc实现最简单的增删改查

...进入一家公司实习,在实习这段期间想把自己所学的东西通过博客记录下来今天上午简单回顾了一下用JDBC实现最简单的增删改查废话不多说,接下来就说明怎么用JDBC实现最简单的增删改查我用的数据库是Mysql1.创建一个MAVEN项目,需... 查看详情

ssm整合实现简单的增删改查(代码片段)

通过三天的时间,跟着视频学习然后做出来了    只是最基本的增删改查,学到了一些比较"小心机"的设计,期间出了不少问题让我一度想要放弃,重要的内容借此平台总结一下web.xml,主要用于配置Filter,Servlet,Lisenter... 查看详情

jdbc实现简单的增删改查

...中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源一 查看详情

node+express实现简单的增删改查

varexpress=require(‘express‘);varbodyParser=require("body-parser");varcors=require(‘cors‘);varapp=express();varmysql=require(‘mysql‘);varconnection=mysql.createPool({connectionLimit:10,host:‘localhost 查看详情

jsp+servlet+jdbc实现对数据库的增删改查

一、JSP和Servlet的简单介绍1、Servlet和JSP简介:Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP,Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是服务器)负责执行Java程序,而JSP(JavaServerPage)... 查看详情

springboot+mybatis实现对员工的增删改查

SpringBoot+MyBatis实现对员工的增删改查一、使用idea新建SpringBoot项目File——>New——>Project——>SpringAssistant——>Next——>修改报名,项目名等信息——>Next——>在web中选中web,在SQL中选中MySQL、JDBS、MyBatis——>Next... 查看详情

javaweb简单的增删改查之“通过姓名查找,查询所有信息”

1.方法/**查看全部信息*/publicList<Member>selectByName(Stringname){//TODOAuto-generatedmethodstubList<Member>list=newArrayList<Member>();PreparedStatementpre=null;ResultSetrs=null;try{Strings 查看详情

vue实现数据的增删改查(代码片段)

...理。比如我们有一个这样的页面:我们在这个页面里,就实现了增删改查4个功能,点击链接查看demo【http://www.xiabingbao.com/demo/vue-curd/ind 查看详情

idea+maven+ssm框架实现的简单的增删改查

IDEA+Maven+SSM框架实现的简单的增、删、改、查选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的。Struts2框架与Spring的整合问题日益凸显,而SpringMVC作为新一代的MVC框架,因其可以与Spring框架无缝整合的特性收到了... 查看详情

通过jdbc进行简单的增删改查(以mysql为例)

目录前言:什么是JDBC一、准备工作(一):MySQL安装配置和基础学习二、准备工作(二):下载数据库对应的jar包并导入三、JDBC基本操作(1)定义记录的类(可选)(2)连接的获取(3)insert(4)update(5)select(6)delete四、测试五、代码分析... 查看详情

用jdbc连接数据库进行简单的增删改查(代码片段)

...bc的驱动。如果数据库为oracle,相应的jar包换为ojdbc6.jar。通过下面的代码可以练习一下,掌握jdbc的使用方法,自己可以对程序进行相应的扩展,可以试试oracle数据 查看详情

qmap的增删改查

...key是唯一的,也是有序的。map通常由近似平衡的红黑树来实现。key的有序性,使得插入,查找节点比较有效。map的操作(增删改查),通常就是对节点的操作(增删改查)。当然,map也有创建(new)和销毁(delete)操作。QMap是Qt实现的一种map... 查看详情

java全栈web网页技术:15.书城项目实战四:管理端图书的增删改查(后台)(代码片段)

...端图书管理页面【book_manager.jsp】页面原型如下:需要实现图书的添加、删除、修改、分页显示等操作2.前期准备2.1创建数据表bookscreateTABLEbooks(idINTPRIMARYKEYauto_increment,titlevarchar(50),authorVARCHAR(50),priceDOUBLE(10,2),salesINT,st 查看详情

datagrid的增删改查前台页面

公共js:前台页面: 查看详情

[mybatis]快速搭建一个mybatis程序,实现对数据的增删改查

...的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(Plain 查看详情

用java的框架做一个小项目实现对一张表的增删改查功能可以在页面操作

...o层:写增删改查sql语句Servise层:写接口,再写个Servise层实现类页面要用到jstl以及el表达式controller层:写跳转页面以及执行增删改查的操作ssm框架就是这么写的参考技术A需要就seemyname,findme这个有的追问?这是什么 查看详情

最简单的增删改查

<?phpnamespaceAppHttpControllersAdmin;useAppModelsAdminUser;useAppHttpRequestsAdminAdminuserRequest;classAdminusersControllerextendsController{publicfunctiongetIndex(){$users=AdminUser::wh 查看详情

javaweb就是对数据库的增删改查么

...是对数据的处理,javaweb是一类技术的总称,用java语言去实现和web相关的程序。 参考技术B这是一个form表单把数据发给后台的javaactionaction中调用你操作数据库的dao或者是数据库的实现类实现类中有具体的增删改查,分页,模糊查询... 查看详情