使用类定义增删改查接口
This commit is contained in:
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@@ -3,7 +3,10 @@ from django.urls import path,include
|
|||||||
from myapp import views
|
from myapp import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('user/', views.user),
|
# path('user/', views.user),
|
||||||
path('user_list/', views.user_list),
|
path('user/', views.UserView.as_view()),
|
||||||
|
path('user_list', views.user_list),
|
||||||
path('user_add', views.user_add),
|
path('user_add', views.user_add),
|
||||||
|
path('user_edit', views.user_edit)
|
||||||
|
|
||||||
]
|
]
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
|
from django.db.models.expressions import result
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse,JsonResponse
|
||||||
from myapp.models import User
|
from myapp.models import User
|
||||||
# Create your views here.
|
from django.http import QueryDict
|
||||||
|
from django.views.generic import View # 用类来写增删改查接口
|
||||||
|
|
||||||
|
# 非类写法
|
||||||
|
"""
|
||||||
def user(request):
|
def user(request):
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
return HttpResponse('获取用户')
|
return HttpResponse('获取用户')
|
||||||
@@ -15,15 +19,71 @@ def user(request):
|
|||||||
name=name,
|
name=name,
|
||||||
city=city,
|
city=city,
|
||||||
sex = sex,
|
sex = sex,
|
||||||
age = age,
|
age = age
|
||||||
|
|
||||||
)
|
)
|
||||||
print(request.POST)
|
print(request.POST)
|
||||||
return HttpResponse('创建用户')
|
return HttpResponse('创建用户')
|
||||||
|
|
||||||
elif request.method == 'PUT':
|
elif request.method == 'PUT':
|
||||||
return HttpResponse('创建用户')
|
data = QueryDict(request.body)
|
||||||
|
id = data.get('id')
|
||||||
|
# 用户更新
|
||||||
|
user_obj = User.objects.get(id=id)
|
||||||
|
user_obj.name = data.get('name')
|
||||||
|
user_obj.city = data.get('city')
|
||||||
|
user_obj.sex = data.get('sex')
|
||||||
|
user_obj.age = data.get('age')
|
||||||
|
user_obj.save()
|
||||||
|
|
||||||
|
result = {'code': 200, 'msg': '更新用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
|
||||||
elif request.method == 'DELETE':
|
elif request.method == 'DELETE':
|
||||||
return HttpResponse('删除用户')
|
data = QueryDict(request.body)
|
||||||
|
id = data.get("id")
|
||||||
|
User.objects.get(id=id).delete()
|
||||||
|
result = {'code': 200, 'msg': '删除用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
"""
|
||||||
|
|
||||||
|
# 类写法
|
||||||
|
class UserView(View):
|
||||||
|
def get(self, request):
|
||||||
|
return HttpResponse('获取用户')
|
||||||
|
def post(self, request):
|
||||||
|
name = request.POST.get('name')
|
||||||
|
city = request.POST.get('city')
|
||||||
|
sex = request.POST.get('sex')
|
||||||
|
age = request.POST.get('age')
|
||||||
|
User.objects.create(
|
||||||
|
name=name,
|
||||||
|
city=city,
|
||||||
|
sex = sex,
|
||||||
|
age = age
|
||||||
|
)
|
||||||
|
print(request.POST)
|
||||||
|
return HttpResponse('创建用户')
|
||||||
|
|
||||||
|
def put(self, request):
|
||||||
|
data = QueryDict(request.body)
|
||||||
|
id = data.get('id')
|
||||||
|
# 用户更新
|
||||||
|
user_obj = User.objects.get(id=id)
|
||||||
|
user_obj.name = data.get('name')
|
||||||
|
user_obj.city = data.get('city')
|
||||||
|
user_obj.sex = data.get('sex')
|
||||||
|
user_obj.age = data.get('age')
|
||||||
|
user_obj.save()
|
||||||
|
|
||||||
|
result = {'code': 200, 'msg': '更新用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
data = QueryDict(request.body)
|
||||||
|
id = data.get("id")
|
||||||
|
User.objects.get(id=id).delete()
|
||||||
|
result = {'code': 200, 'msg': '删除用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
|
||||||
def user_list(request):
|
def user_list(request):
|
||||||
users = User.objects.all()
|
users = User.objects.all()
|
||||||
@@ -32,3 +92,8 @@ def user_list(request):
|
|||||||
|
|
||||||
def user_add(request):
|
def user_add(request):
|
||||||
return render(request, 'user_add.html')
|
return render(request, 'user_add.html')
|
||||||
|
|
||||||
|
def user_edit(request):
|
||||||
|
id = request.GET.get('id')
|
||||||
|
user_obj = User.objects.get(id=id)
|
||||||
|
return render(request, 'user_edit.html', {'user': user_obj})
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<h2>创建用户</h2>
|
<h2>创建用户</h2>
|
||||||
<form action="/myapp/user/" method="post">
|
<form action="/myapp/user/" method="post">
|
||||||
{% csrf_token %} <!-- 关键:添加这行代码,新版默认自带安全组件,提交时要提交csrf的token -->
|
{# {% csrf_token %} <!-- 关键:添加这行代码,新版默认自带安全组件,提交时要提交csrf的token -->#}
|
||||||
姓名: <input type="text" name="name"> <br>
|
姓名: <input type="text" name="name"> <br>
|
||||||
城市: <input type="text" name="city"> <br>
|
城市: <input type="text" name="city"> <br>
|
||||||
性别: <input type="text" name="sex"> <br>
|
性别: <input type="text" name="sex"> <br>
|
||||||
|
|||||||
45
templates/user_edit.html
Normal file
45
templates/user_edit.html
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>编辑用户</title>
|
||||||
|
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>编辑用户</h2>
|
||||||
|
<form action="#">
|
||||||
|
<input type="text" name="id" value="{{ user.id }}" style="display: none">
|
||||||
|
姓名: <input type="text" name="name" value="{{ user.name }}"> <br>
|
||||||
|
城市: <input type="text" name="city" value="{{ user.city }}"> <br>
|
||||||
|
性别: <input type="text" name="sex" value="{{ user.sex }}"> <br>
|
||||||
|
年龄: <input type="text" name="age" value="{{ user.age }}"> <br>
|
||||||
|
<input type="submit" value="提交" id="btn"> <br>
|
||||||
|
</form>
|
||||||
|
<script>
|
||||||
|
$('#btn').click(function (){
|
||||||
|
var id = $('input[name=id]').val();
|
||||||
|
var name = $('input[name=name]').val();
|
||||||
|
var city = $('input[name=city]').val();
|
||||||
|
var sex = $('input[name=sex]').val();
|
||||||
|
var age = $('input[name=age]').val();
|
||||||
|
data = {'id':id, 'name':name, 'city': city, 'sex': sex, 'age': age};
|
||||||
|
$.ajax({
|
||||||
|
type: 'PUT',
|
||||||
|
url: '/myapp/user/',
|
||||||
|
data: data,
|
||||||
|
success: function (result){
|
||||||
|
if(result.code == 200){
|
||||||
|
alert('更新用户成功')
|
||||||
|
location.reload()
|
||||||
|
}else{
|
||||||
|
alert('更新用户失败')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (){
|
||||||
|
alert('服务器接口异常')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -3,29 +3,65 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>用户信息管理</title>
|
<title>用户信息管理</title>
|
||||||
|
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h2>用户信息管理</h2>
|
<h2>用户信息管理</h2>
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
<th style="display: none">ID</th>
|
||||||
<th>姓名</th>
|
<th>姓名</th>
|
||||||
<th>城市</th>
|
<th>城市</th>
|
||||||
<th>性别</th>
|
<th>性别</th>
|
||||||
<th>年龄</th>
|
<th>年龄</th>
|
||||||
|
<th>操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for i in users %}
|
{% for i in users %}
|
||||||
<tr>
|
<tr>
|
||||||
|
<td style="display: none">{{ i.id }}</td>
|
||||||
<td>{{ i.name }}</td>
|
<td>{{ i.name }}</td>
|
||||||
<td>{{ i.city }}</td>
|
<td>{{ i.city }}</td>
|
||||||
<td>{{ i.sex }}</td>
|
<td>{{ i.sex }}</td>
|
||||||
<td>{{ i.age }}</td>
|
<td>{{ i.age }}</td>
|
||||||
|
<td>
|
||||||
|
<button> <a href="/myapp/user_edit?id={{ i.id }}" target="_blank">编辑</a> </button>
|
||||||
|
<button onclick="delUser(this)">删除</button>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button><a href="/myapp/user_add" target="_blank">创建用户</a></button>
|
<button><a href="/myapp/user_add" target="_blank">创建用户</a></button>
|
||||||
</body>
|
</body>
|
||||||
|
<script>
|
||||||
|
function delUser(obj){
|
||||||
|
confirm = confirm("是否删除该用户?")
|
||||||
|
if(confirm){
|
||||||
|
id = $(obj).parent().parent().find("td:eq(0)").text()
|
||||||
|
console.log(id)
|
||||||
|
data = {'id': id}
|
||||||
|
$.ajax({
|
||||||
|
type: 'DELETE',
|
||||||
|
url: '/myapp/user/',
|
||||||
|
data: data,
|
||||||
|
success: function (result){
|
||||||
|
if(result.code == 200){
|
||||||
|
alert('删除用户成功')
|
||||||
|
location.reload()
|
||||||
|
}else{
|
||||||
|
alert('删除用户失败')
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function (){
|
||||||
|
alert('服务器接口异常')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</html>
|
</html>
|
||||||
@@ -44,7 +44,7 @@ MIDDLEWARE = [
|
|||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
# 'django.middleware.csrf.CsrfViewMiddleware', 暂不考虑安全要素
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
|||||||
Reference in New Issue
Block a user