Django:例:删除、添加、编辑

1、模拟网页添加、编辑、删除、操作数据库

urls.py

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
# path('admin/', admin.site.urls),
path('cls/', views.classes),
path('add_class/', views.add_class),
path('del_class/', views.del_class),
path('vi_class/', views.vi_class),
]


views.py
from django.shortcuts import render,HttpResponse,redirect
import pymysql


def classes(request):
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='',db='65day',charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select id,title from class")
data = cursor.fetchall()
cursor.close()
conn.close()



return render(request,'classes.html',{"data":data})

def add_class(request):
if request.method == 'GET':
data=1
return render(request, 'add_class.html', {"data": data})
else:
v = request.POST.get('title')
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='65day', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("insert into class(title) values(%s)",v)
conn.commit()
cursor.close()
conn.close()
return redirect("/cls/")

def del_class(request):
if request.method == 'GET':
v = request.GET.get('i')
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='65day', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("delete from class where id = %s",v)
conn.commit()
cursor.close()
conn.close()

return redirect('/cls/')
else:

return HttpResponse('del')

def vi_class(request):
if request.method == 'GET':
v = request.GET.get('i')
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='65day', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("select id,title from class where id = %s",v)
data = cursor.fetchall()
data = data[0]
# data = data[0].get('title')
cursor.close()
conn.close()

return render(request,'vi_class.html',{'init':data})
else:
i = request.GET.get('i')
v = request.POST.get('title')
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='65day', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("update class set title=%s where id=%s",[v,i])
conn.commit()
cursor.close()
conn.close()

return redirect('/cls/')
classes.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>班级列表</h1>
<table>
<thead>
<a href="/add_class/">添加</a>
<tr>
<th>ID</th>
<th>班级名称</th>
</tr>
</thead>
<tbody>
{% for row in data %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.title }}</td>
<td><a href="/vi_class/?i={{ row.id }}">编辑</a></td>
<td><a href="/del_class/?i={{ row.id }}">删除</a></td>

</tr>
{% endfor %}
</tbody>

</table>


</body>
</html>

add_class.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<h1>添加班级</h1>
<form method="POST" action="/add_class/">
<p>班级名称:<input type="text" name="title"></p>
<input type="submit">
</form>
</head>
<body>

</body>
</html>

vi_class.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>编辑班级</h1>
<form method="POST" action="/vi_class/?i={{ init.id }}">
<p>班级名称:<input type="text" name="title" value={{ init.title }}></p>
<input type="submit">
</form>
</body>
</html>


posted @ 2018-03-09 10:39  G500  阅读(84)  评论(0)    收藏  举报