简单的(笨的)用python以及SQL语句书写增删改查
简单的(笨的)用python以及SQL语句书写增删改查
-
查看(html页面):
<!DOCTYPE html>
<html lang="en">
<head>
<title>班级列表</title>
</head>
<body>
<h1>班级列表</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>班级名称</th>
<th>删除</th>
<th>修改</th>
</tr>
</thead>
<tbody>
{% for row in class_list %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.title }}</td>
{# 删除数据库#}
<td><a href="/Classe/del_classes/?nid={{ row.id }}"> --- </a></td>
{# 修改数据库#}
<td><a href="/Classe/edit_classes/?nid={{ row.id }}"> *** </a></td>
</tr>
{% endfor %}
</tbody>
</table>
<div>
<h2><a href="/Classe/add_classes/"> + </a></h2>
</div>
</body>
</html>
增加(html页面):
<!DOCTYPE html>
<html lang="en">
<head>
<title>增加内容</title>
</head>
<body>
<h1>添加班级</h1>
<form method="post" action="/Classe/add_classes/">
{% csrf_token %}
<p>ID</p>
<input type="text" name="id"/>
<p>班级名称</p>
<input type="text" name="title"/>
<p></p>
<input type="submit" value="添加"/>
</form>
</body>
</html>
-
删除(html页面):
在查看页面中书写
{# 删除数据库#}
<td><a href="/Classe/del_classes/?nid={{ row.id }}"> --- </a></td>
-
修改(html页面):
在查看页面中书写
{# 修改数据库#}
<td><a href="/Classe/edit_classes/?nid={{ row.id }}"> *** </a></td>
#新建html书写:
<!DOCTYPE html>
<html lang="en">
<head>
<title>修改内容</title>
</head>
<body>
<h1>添加内容</h1>
{# <form method="post" action="/edit_classes/?nid={{ result.id }}">#}
<form method="post" action="/Classe/edit_classes/?nid={{ result.id }}">
{% csrf_token %}
<p>ID</p> {{ result.id }}
{# <input style="display: none" type="text" name="id" value="{{ result.id }}"/>#}
<p>班级名称</p>
<input type="text" name="title" value="{{ result.title }}"/>
<p></p>
<input type="submit" value="修改"/>
</form>
</body>
</html>
之后书写实现方法:
首先安装django以及pymysql模块,之后数据库中创建数据表
链接如下:
from django.shortcuts import HttpResponse, render, redirect
import pymysql
# class(以及添加数据)
def classes(request):
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='写你自己的密码',
db='写你数据表的内容',
charset='utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select id,title from class")
class_list = cursor.fetchall()
cursor.close()
conn.close()
return render(request, 'Classe/classes.html', {'class_list': class_list})
#‘’这里买写得你的html的路径
# 添加数据库
def add_classes(request):
if request.method == "GET":
return render(request, 'Classe/add_classes.html')
else:
print(request.POST)
dataone = request.POST.get('id')
datatwo = request.POST.get('title')
print(dataone)
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='写你自己的密码',
db='写你数据表的内容',
charset='utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute(
"insert into class(id,title) values(%s,%s)", [
dataone, datatwo, ])
conn.commit()
cursor.close()
conn.close()
return redirect('/Classe/classes/')
#‘’这里买写得你的html的路径
# 删除数据库的内容
def del_classes(request):
nid = request.GET.get('nid')
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='写你自己的密码',
db='写你数据表的内容',
charset='utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("delete from class where id=%s", [nid, ])
conn.commit()
cursor.close()
conn.close()
return redirect('/Classe/classes/')
#‘’这里买写得你的html的路径
# 实现数据库的修改
def edit_classes(request):
if request.method == 'GET':
nid = request.GET.get('nid')
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='写你自己的密码',
db='写你数据表的内容',
charset='utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select id,title from class where id=%s", [nid, ])
result = cursor.fetchone()
cursor.close()
conn.close()
return render(request, 'Classe/edit_classes.html', {'result': result})
#‘’这里买写得你的html的路径
else:
nid = request.GET.get('nid')
print(nid)
title = request.POST.get('title')
print(title)
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='写你自己的密码',
db='写你数据表的内容',
charset='utf8'
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("update class set title=%s where id=%s", [title, nid])
conn.commit()
cursor.close()
conn.close()
return redirect('/Classe/classes/')
#‘’这里买写得你的html的路径
这些界面内跳转:
首先通过py文件进入url的界面跳转,之后再进入html,有的利用valus的会进行一次GET和二次POST,
这样实现界面台跳转和功能的实现。
//转载注明出处:https://www.cnblogs.com/Songjunxiang/p/13917660.html
欢迎提出问题,我会看见之后立刻改正。
邮箱:2247256783@qq.com
QQ(添加请注明原因):2247256783

浙公网安备 33010602011771号