一. 在mysit项目文件夹下的mysit文件夹中找到urls.py文件里面创建URL和视图函数对应关系
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
# path('admin/', admin.site.urls),
# www.xxx.com/index/ -> 函数
path('index/', views.index),
path('user/list/', views.user_list),
path('user/add/', views.user_add),
path('tpl/', views.tpl),
# 联通新闻中心
path('news/', views.news),
# 请求和相应
path('something/', views.something),
# 用户登录
# http://127.0.0.1:8000/login/ -> login
path('login/', views.login),
path('orm/', views.orm),
# 案例:用户管理
path('info/list/', views.info_list),
path('info/add/', views.info_add),
path('info/delete/', views.info_delete),
]
二. views.py文件中编写函数
from django.shortcuts import render, HttpResponse, redirect
from app01.models import Department, UserInfo
# 显示
def info_list(request):
# 1.获取数据库中所有的用户信息
# [对象,对象,对象]
data_list = UserInfo.objects.all()
# 2.渲染,返回给用户
return render(request, "info_list.html", {"data_list": data_list})
# 添加
def info_add(request):
if request.method == "GET":
return render(request, 'info_add.html')
# 1.获取用户提交的数据
user = request.POST.get("user")
pwd = request.POST.get("pwd")
age = request.POST.get("age")
# 2. 添加到数据库
UserInfo.objects.create(name=user, password=pwd, age=age)
# 3. 自动跳转
# return redirect("http://127.0.0.1:8000/info/list/")
return redirect("/info/list/") # 重定向回显示页面
# 删除
def info_delete(request):
nid = request.GET.get('nid') # 获取id
UserInfo.objects.filter(id=nid).delete() # 删除id对应的值
return redirect("/info/list/") # 重定向回显示页面
三. templates文件夹下创建html文件
1. 添加页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>添加用户</h1>
<form method="post"> <!-- 表单 提交方式 -->
{% csrf_token %} <!-- 表单 提交方式 -->
<input type="text" name="user" placeholder="用户名">
<input type="text" name="pwd" placeholder="密码">
<input type="text" name="age" placeholder="年龄">
<input type="submit" value="提交">
</form>
</body>
</html>
2. 显示页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>INFO列表</h1>
<a href="/info/add/">添加</a>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>密码</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for obj in data_list %}
<tr>
<td>{{ obj.id }}</td>
<td>{{ obj.name }}</td>
<td>{{ obj.password }}</td>
<td>{{ obj.age }}</td>
<td>
<a href="/info/delete/?nid={{ obj.id }}">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>