2.表结构
通过tools里面的Run manage.py task选项可以调出窗口,在弹出的窗口里面输入提交表单命令会有提示符,更加方便
点击+号增加行数,点击绿色箭头上传当前数据
3.2展示登录页面
第一步,写urls
第二步,写views
第三步,写HTML文件
用户登录成功之后,服务器会给用户返回一个cookie,如下图的sessionid。用户提交的用户名密码会存储到服务器的session里面,下次登录时会去里面校验信息对不对
第一步,加上写入session的代码
第二步,代码添加登录校验
中间键体现在代码中就是一个类,如下图
此时需要参考上面的写上一个类,比如,这样每次发送和返回都会经过这个中间件
为了以后开发方便,可以给request赋值,后面直接在函数里面取值
6.部门管理
6.1部门列表
先把页面做出来,再显示表格数据
1.导航和注销
效果如下,右上角显示当前登录的用户名
注销
第一步,让其返回depart_list.html
第二步,引入JS等插件
第三步,增加注销操作
第四步,增加注销函数
2.展示数据
增加一些按钮
效果
创建一个layout.html作为母版,block区域作为占位符,别的模板只写block区域即可
CSS和JS可能也需要重写,所以也给其加上block
第一步,添加链接
第二部,添加关系
第三步,编写函数
第四步,编写html页面
删除部门
第一步
第二步
第三步
编辑部门
第一步,在html中加上这个功能
第二步,在url中增加视图函数
第三步,在试图函数中编写看页面和提交数据的功能
第四步,编写编辑部门的html
第一步,编写urls这样一个路由
第二步,编写视图函数
第三步,编写html
第四步,在数据库中添加数据
最终效果
不过当前有个问题是页面显示的数据不友好,比如分类那里显示的是数字,实际上应该显示数字代表的中文,怎么处理呢,用obj.get_category_display()函数即可解决,相当于让下面的choices显示中文。我们将其应用到html中
所属部门那里也是数字,这个又怎么解决呢,因为部门这里关联的是外键,我们可以用obj.depart.title的方法获取到外键关联到的这一行的所有数据,再通过“对象.”的方式获取到具体的值
先出创建一个Asserform类,后面的widget表示自动添加到html
以后主要用ModelForm
添加此功能的具体步骤
第一步,html里面添加链接
第二步,添加urls
第三步,在视图函数里面编写
第四步,编写asset_add相关的html
注意:使用此方法的话展示的数据可能不太对,会显示成下面这样
碰到这种情况,就去看外键是不是关联了表,比如这里的AssetSet类关联的是DepartMent,这个时候就需要在DepartMent类里面定义一个str方法,让它返回正确的值
如果想要ModelForm中的页面变的好看,需要用到bootstrap,比如下面再每个下拉框中给它加上一个from-control样式,但如果下拉框太多,不可能每一个都去后面添加一个attrs={'class': 'form-control'},此时可以用到init方法
在网页上添加错误验证功能,如果某个项没填给出提示
第一步,再html中加上post方法
第二步,编写POST请求的处理逻辑
第一步,html中传入地址,并且把ID传过去
第二步,urls中添加编辑相关地址
第三步,编写视图函数
第四步,编写html
第一步
第二步
资产管理增加搜索和分页功能
前面的depart是外键,后面的title是外键对应的那张表,比如前面的depart就跨到部门那张表里面去了,后面的title就是在部门的表里找title那一列
基于Q查询的搜索
将分页的逻辑单独写成一个类