基于Pycharm的Django学习 —— 用户管理小demo
自从学了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})
展示流程:
- 获取数据库数据
- 前端测试数据格式和内容
- 渲染并且返回页面
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>用户列表</h1><!--在列表页面添加一个按钮 一点就可以跳转到添加页面--><!--http://127.0.0.1:8000/info/add/ 因为是自家的网站 就可以不用写域名了--><div style="height:50px"><a href="/info/add/">添加用户</a></div><table border="1" style="border-collapse:collapse"><thead><tr><th>ID</th><th>姓名</th><th>密码</th><th>年龄</th><th>操作</th></tr></thead><!--先用静态数据测试--><!--<tbody><tr><td>1</td><td>王晓曼</td><td>123</td><td>20</td></tr></tbody>--><tbody>{% for data in data_list %}<tr><td>{{data.id}}</td><td>{{data.name}}</td><td>{{data.password}}</td><td>{{data.age}}</td><td><a href="/info/delete/?nid={{data.id}}">删除</a></td></tr>{% endfor %}</tbody></table>
</body>
</html>
在编写前端页面的时候,也需要注意,先是使用静态数据演示,然后再换成后端传来的数据,这样也方便测试,因为写代码不是一蹴而就的。
添加用户
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去指定页面查看。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>添加用户</h1><!--action如果不写 那么就是向当前地址发送post请求 这个地方不要瞎写 不然这里的url和函数里的不匹配 那就出错了--><form method="post">{% csrf_token %}<label>用户名:<input type="text" name="user" placeholder="用户名"> </label><label>密码:<input type="password" name="password" placeholder="密码"> </label><label>年龄:<input type="text" name="age" placeholder="年龄"> </label><input type="submit" value="提交"></form>
</body>
</html>
删除用户
我们是假设这样的功能:当用户输入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并且实现跳转。
当然,上述只是为了演示案例,并没有美化页面,后期我们会写一个综合的大项目奥。
基于Pycharm的Django学习 —— 用户管理小demo相关推荐
- 基于Pycharm的Django学习 —— 项目实战(Form和ModelForm)
项目实战 项目开发流程 项目准备工作 项目部门管理 UI设计 depart_list 模板继承 depart_add depart_delete depart_edit 项目用户管理 user_lis ...
- webservice24--基于契约优先开发用户管理小功能--实现wsdl
基于契约优先开发用户管理小功能–实现wsdl 1.编写schema <?xml version="1.0" encoding="UTF-8"?> & ...
- Django实现用户管理
Django实现用户管理 前言 第一节 - 自定义模版和静态文件 1. 自定义模版位置和静态文件 2. 通用静态文件和模版设置 模版设置: 3. 关于访问 /admin 报错的探究 第二节 - 用户登 ...
- WebService:跟孔浩学习(契约优先、Schema、WSDL、SOAP、用户管理小系统)
异构平台之间的交互 XML (DTDàSchema->Stax(XStream).SAX.Dom4J.PULL) JAXB XStream和Jackson完成Json和java的转化 SO ...
- 基于SpringBoot的高校自习室座位管理小程序毕业设计源码191028
摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于学校的各种信息管理也是十分常见的.随着时代发展,越来越多小程序被普遍使用,小程序的便捷,随时随地即可方便使用的特点,使得越 ...
- python项目源码 日程管理_基于fullcalendar制作的日程管理小demo
一.项目地址: 二.项目功能概述: 该项目是基于fullcalendar而制作的日程管理,fullcalendar是一个基于jquery的日历插件,在该项目中,我们可以在日历上编辑我们的日程,并将日程 ...
- 基于pycharm的keras学习日志
pycharm运行keras问题记录 2022\1\28 问题:ImportError: SystemError: <built-in method contains of dict objec ...
- webservice25--基于契约优先开发用户管理小功能--异常处理
1.创建异常类UserException , 此处继承RuntimeException, 注意这是有问题的 package com.chb.service.exception;/*** 首先继承Run ...
- Linux学习(四)---用户管理
文章目录 Linux学习--用户管理 一.基本介绍 二.添加用户 2.1 基本语法 2.2 实际案例 2.3 细节说明 三.给用户指定或者修改密码 四.删除用户 4.1基本语法 4.2 应用案例 五. ...
最新文章
- 三星i8150 刷机
- 数据结构算法的引言+时间复杂度
- java.lang.InstantiationException
- 我所理解的Java NIO
- 菜鸟学java要多久_菜鸟学java,根本停不下来!
- 高仿114la网址导航源码完整最新版
- SpringBoot入门篇-HelloWorld案例
- 实验七 6 音乐DJ和回响贝斯
- php下载安装教程,PHP for Windows安装图文详细教程
- python各城市对应的省_python实现城市和省份字典(根据城市判断属于哪个省份)...
- jpg格式图片怎样压缩?电脑如何压缩jpg图片?
- 计算机c盘用户文件夹改英文,windows10下把中文登录用户文件夹名改成英文名的方法...
- 登录实例失败,原因: 连接实例 i-wz972sda3z2cf3u3t9a1 (47.112.162.228:3389) 超时: 10 秒,请检查网络是否可达或者白名单设置
- openvino CvCapture_MSMF::initStream Failed to set mediaType (unsupported media type)
- 为PDF扫描文件添加书签
- [poj 1014]Dividing的DFS解法解读和DP解法
- Oracle AWR管理与维护
- FX5U和je-C伺服通讯案例和学习资料
- Day212.OAuth2、微信二维码登入注册功能、用户登录信息前后端供、讲师列表前后端 -谷粒学院
- 法国计划2020起征收数字税