[toc]1.总体设计思路一套简单的用户管理系统,包括但不限于以下功能:用户添加:用于创建新用户;用户查询:用于查询用户信息;用户修改:用于修改用户信息;用户删除:用于删除用户信息;最基本的功能包括增、删、改、查。想要搭建好的系统,前期一定要设计一套思路,按照上图入座即可。接下来开始实战……抓紧重点,一定要做,一定要做到,一定要做到……2.搭建一个简单的用户系统如果有同学没有研究过上两篇文章,请抓紧时间学习,然后阅读本文。2.1配置模型Modelhello\\models.py创建一个类对象,相当于数据中的一个表。#创建数据库用户表classUser(models.Model):#性别,下拉框的元组sex=((0,'male'),(1,'female'))#usernameusername=models.CharField(max_length=20,help_text='username')#userpasswordpassword=models.CharField(max_length=16,help_text='userpassword')#sex中的0和1存入数据库,中文男女在web前面-enddisplaysex=models.IntegerField(choices=sex,null=True,blank=True)#手机号码phone=models.CharField(max_length=11,help_text='手机号码')#对象获取的返回值为用户名def__str__(self):返回self.username2。2写入数据库:后台会转换成sql语句写入数据库。是不是看起来很方便,不需要太懂sql,这也是ORM的强项。(py369)[root@localhostdevops]#pythonmanage.pymakemigrationshelloMigrationsfor'hello':hello/migrations/0005_auto_20201105_2336.py-CreatemodelUser-Alterfieldidondevices(py369)[root@localhostdevops]#pythonmanage.pymigrateOperationstoperform:Applyallmigrations:admin,auth,contenttypes,hello,sessionsRunningmigrations:Applyinghello.0005_auto_20201105_2336...OK2.3数据库验证表:我通过NavicatPremium工具连接数据库进行可视化查看,你可以使用任何一个工具都可以。2.4路由URL配置:hello\\urls.pyname='xxxx',这是命名空间的用法,模板中经常使用:hello:adduser,相当于hello/adduser.html,好处是不用不得不担心你的路径被随机改变。fromdjango.urlsimportpathfromdjango.urlsimportre_pathfromhelloimportviewapp_name='hello'urlpatterns=[#FBV,通过增删改查的方??式#addpath('adduser/',view.adduser,name="adduser"),#查询路径('showuser/',view.showuser,name="showuser"),#修改re_path('edituser/(?P[0-9]+)?/',view.edituser,name="edituser"),#删除re_path('deluser/(?P[0-9]+)?/',view.deluser,name="deluser"),]2.5添加后台执行用户脚本配置:hello\\view.pyfromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponse,QueryDictfromdjango.shortcutsimportget_object_or_404fromdjango.httpimportHttp404fromhello.modelsimportUserimporttraceback#userincreasefunctiondef=if}add(request.method=='POST':try:print(request.POST)#将数据转换为字典格式data=request.POST.dict()#一次性将数据写入数据库User.objects.create(**data)msg={'code':0,'result':'用户已成功添加。'}except:msg={'code':1,'result':'Failedtoadduser:'.format(traceback.format_exc())}returnrender(request,"hello/adduser.html",{'msg':msg})查看模板配置:templates\\hello\\adduser.html{%extends"base.html"%}{%blocktitle%}useradded{%endblock%}{%blockbody%}{%ifmsg.code==0%}{{msg.result}}
{%else%}
{{msg.result}}{%endif%添加用户信息
用户:
密码:
手机号码:
性别:男女
submitreset {%endblock%}前端显示效果如下:打开浏览器并输入以下链接格式:http://ip/hello/adduser用户提交,后台数据库验证:认真填写信息后,点击提交,成功则显示用户添加成功,您可以去后台DB验证我一口气创建了6个用户,我任性。备注:请忽略数据库表中的密码是明文的,后续实战中会是密文的,不用担心密码泄露。2.6用户查询后台执行脚本配置:hello\\view.py#新建代码块#用户查看函数defshowuser(request):#http://192.168.8.130:8888/hello/showuser/?keyword=test001#获取key位置参数,获取唯一值,''表示默认参数,防止出错keyword=request.GET.get('keyword','')#获取所有数据users=User.objects.all()#如果keyposition参数不为空ifkeyword:#用户名不区分大小写过滤users=users.filter(username__icontains=keyword)#return返回两个参数'users'和'keyword'给前端returnrender(request,'hello/showuser.html',{'users':users,'keyword':keyword})查看模板配置:templates\\hello\\showuser.html{%extends"base.html"%}{%blocktitle%}Userquery{%endblock%}{%blockbody%}