本节先说说我们上节课的弊端,就是我们在测试的时候,很难先测试登陆状态去访问/home/ 然后再测试非登陆状态去访问/home/这条用例。
当时我们并没有退出登陆功能,所以要么请求其他同事访问,要么换浏览器,要么清空cookie。比较麻烦。不过本节后,就可以实现退出功能了。
首先我们打开welcome.html,准备在这个菜单页面加上 退出登陆的按钮。
之所以要在welcome上放退出按钮,就是因为这个菜单是全局公共的,任何页面都可以看到它,自然也就看到它上面的退出按钮了。
好,打开welcome.html。
让我们想想给按钮放在哪比较好,一般要么是左上角,要么是右上角。
我们就放在右上角吧,放在主页按钮下面,我们之后把这些功能按钮全都一股脑的塞到右上角,整合成一个小整体 之后样式上还能更有作为。
如上图所示,给原来的主页按钮 外面包裹一层 div。并把其中的 float:right 这个属性给移动到div身上。这个属性证明是让其靠当前父级元素的最右侧。
刷新页面发现基本没什么变化。
然后 复制这个a标签,改文案为 退出 。并在中间加上一个br标签 作为换行。
刷新页面看看效果:
注意border-radius属性的运用,这个是按钮的圆角,主页按钮不需要圆角了。退出按钮的左下角是圆角。
然后我们修正退出按钮的超链接,从/home/改成 /logout/
然后去urls.py中补充好该映射:
注意这个细节,urls.py中的url,前面只有^ 没有 / 。
而html中的url 都是前后都/
这个细节千万别弄错了。
然后我们去views.py中去写logout函数:
然后想想我们这个函数要用来做什么?
开始实现:
这里我们是可以直接用HttpResponseRedirect重定向函数 给直接重定到登陆页面/login/的。因我前面讲了,如果是a标签的href 或者form表单提交 这种会触发页面刷新的情况,后端函数都可以直接让用户重定向。但是如果是异步请求$.get() 则不可以。
我们现在确保服务启动中,刷新页面,可以尝试一下。
结果是的确退出了,并且自动跳回到登陆页面!
非常迅速,cookie全自动清楚了。不信你不点登陆,直接进入/home/看看能不能进去,肯定进不去然后又自动回到登陆页面。
看了看进度条,今天内容貌似有点少。
接下来我们要讲讲django的自带后台!
其实django早就有自带后台了,在你刚启动成功的第一次就有,只是你一直不知道。现在我们直接进入网址:127.0.0.1:8000/admin/
就进入了一个后台的登陆页面,是不是很神奇?居然藏着这样一个地方可以管理所有平台数据和用户!
好的 这里我们只能通过管理员账号密码 来登陆。但是我们貌似并不知道管理员账号是什么?我们之前自己注册的都只是普通用户,根本无权限登陆这个后台。那么我们要如何创建超级管理员呢?答案是通过 命令行 输入命令的方式 创建第一个超级管理员。
打开pycahrm的Terminal ,专门用来让你输入shell命令的:
然后输入一下ls ,windows用户输入dir ,看看现在是不是在你的项目根目录下,就是可以看到manage.py的。
我们很早就说了,django的各种命令都是通过 manage.py来完成的,它就像一个大管家。现在创建超级管理员的命令也依然调用它,
输入:
python3 manage.py createsuperuser
然后它问你 这个超管的用户名是什么?你直接输入你自己的名字全拼,然后依次输入邮箱,密码,确认密码。
按照上图,我给大家翻译一下:我先输入名字后,让我输入邮箱,我输入完成后,让我输入密码,此时不要怀疑自己的手,密码输入进去就是不显示的!然后凭着记忆,再输入一次!如果提示你错误,就是你输入错了,按照后续提示重新输入就可以,大不了ctrl+c 强制退出,然后再createsuperuser一遍。
然后它给我疯狂红色警告,说我密码太简单了。但是它马上就问你,是否就用这个简单的密码?你输入 y 按回车。就会提示你创建成功。然后切换回浏览器,等它自动重启。然后输入刚刚创建的超管用户名密码。登陆看看:
这么简单我们就进来了呢!
上面是groups用户组,也就是说我们实际上可以给用户分组,然后不同的组赋予不同的权利。
下面Users是用户表。我们点进去看看:
可以看到我们创建的俩个账户都在这,一个超管,一个普通用户。我们可以手动在这里 设置各个用户的信息,包括增删改查!
这个后台的用处 还有处理其他数据。不过我们目前没有其他数据,所以只展示了用户组和用户表。
后续我们会经常使用这个平台的。
最后我们要记住这个后台的网址:/admin/
今天分享到这了。小伙伴们最近的积极反馈很多!跟得上的也很多。等到升职加薪了,别忘了宣传一波哈~
预告:本平台的实际讲解的代码会持续更新到github上,欢迎大家到时候每天下载和提供各种新的设计 分支。让我们一起维护这个超级接口测试平台吧~ 以后简历上我们也是维护过开源项目的人了~,地址下节课奉上!
关于技术书籍,需要改动的地方太多,目前并未走到售卖阶段。等可以上架了第一时间给大家分享哈~ 大概是五本,接口测试平台只是其中一本哦~