自从学了Django之后,我可真粉了银角大王武沛齐,怎么说呢,还挺感慨,好好学习就对了。
学以致用,学以致用,学了Django中的ORM,怎么能够不写一个小案例呢?
基于Pycharm的Django学习用户管理需求分析用户管理
展示用户列表添加用户删除用户
那么一起来写一个用户管理的小demo吧!
用户管理需求分析需求:
- 展示用户列表添加用户删除用户
那就一步步来编写吧!
其实写代码就是这样,一步步来分析,先写一个基本的功能,然后再去一点点的完善优化,所以不要怕麻烦奥!
urls.py —— views.py —— html
展示用户列表def info_list(request):
# 获取数据库中所有信息
data_list = models.UserInfo.objects.all()
# 在后端函数中测试需要传过去的数据 确保传过去的数据正确 然后再移植到前端 并且更改相应的语法规则
print(data_list)
# 渲染 返回给前端
return render(request, "info_list.html", {"data_list": data_list})
展示流程:
- 获取数据库数据前端测试数据格式和内容渲染并且返回页面
Title
用户列表
添加用户
| ID | 姓名 | 密码 | 年龄 | 操作 |
|---|---|---|---|---|
| {{data.id}} | {{data.name}} | {{data.password}} | {{data.age}} | {data.id}}">删除 |
在编写前端页面的时候,也需要注意,先是使用静态数据演示,然后再换成后端传来的数据,这样也方便测试,因为写代码不是一蹴而就的。
添加用户def info_add(request):
if request.method == "GET":
return render(request, "info_add.html")
# 如果是POST 获取用户数据
name = request.POST.get("user")
password = request.POST.get("password")
age = request.POST.get("age")
# 添加到数据库
models.UserInfo.objects.create(name=name, password=password, age=age)
return redirect("/info/list")
在测试页面跳转情况时,一定是需要响应的奥,可看前面的三种响应。
如果还在测试功能阶段,可以响应文本,再输入url去指定页面查看。
Title
添加用户
我们是假设这样的功能:当用户输入http://127.0.0.1:8000/info/delete/?nid=这样的url时,就在数据库删除用户所输入的对应用户id的信息,并且跳转到用户列表展示页面。
def info_delete(request):
nid = request.GET.get("nid")
models.UserInfo.objects.filter(id=nid).delete()
return redirect("/info/list")
因为要是用户一直去输入url,可能有一点繁琐,所以我们在前端列表中,多增加了一列,这样的话,就可以通过链接来拼接url并且实现跳转。
当然,上述只是为了演示案例,并没有美化页面,后期我们会写一个综合的大项目奥。



