大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。这一节,我们来完善我们的Dashboard功能展示页面。
皮爷的每一篇文章,都配置相对应的代码。这篇文章的代码Tag是Post_026
上一节,我们利用了request.session开发了只有输入密码才能访问的页面,这个,你懂得。那么这一节,我们就来研发一下如何把我们的CMS Dashboard给别人展示。并且,他再CMS里面一番狂操作之后,我们的数据库数据并不会改变。
创建User
我们之前的CMS里面是没有User视图函数的,所以,这里我们就参照之前管理工具的开发,我们先得把User的添加界面开发出来。这里就不做过多解释,因为重点都在之前的文章很详细的讲述了,所以,这里,我们就开发好user的publish页面之后,再给添加一个User:
可以看到,我们新添加的User的Email是1@1.com
,密码还是之前的12341234
。
限制展示
首先来分析一下,我们限制展示的内容,这里主要就是左侧的Code还有User,因为这两个板块,会涉及到一些网站的隐私,所以我们这里屏蔽掉。意思就是,如果是管理员登录,那么我们就展示;如果不是管理员,自然而然你是看不到这两个板块的。
接下来,我们首先要做的就是限制展示。
限制展示这块,有两部分:一是在UI上面不给展示;第二部分则是直接输入URL也不给展示。
那么第一部分,在UI层面不给展示,这个简单。我们只需要修改cms/base/sidebar.html
里面的文件即可,给这两个板块,添加个if判断就可以:{% if request.user.is_superuser %}xxxxxx{% endif %}
:
{% if request.user.is_superuser %}
{% url 'cms:code_manage_view' as code_manage_view %}
{% url 'cms:code_publish_view' as code_publish_view %}
<li class="nav-item has-treeview {% if request.path == code_manage_view or request.path == code_publish_view %}menu-open{% endif %}">
<a href="#" class="nav-link {% if request.path == code_manage_view or request.path == code_publish_view %}active{% endif %}">
<i class="nav-icon fas fa-code"></i>
<p>
Code
<i class="right fas fa-angle-left"