Django项目练习(三)——制作管理员页面&管理员权限变更&页面分页

一、制作管理员专属页面

1、管理员类定义,管理员点击跳转

给管理员做一个单的的页面,要把所有管理员拿出来。
在auth py文件中定义一个管理员类:

# 管理员用户
class AdminManger(View):
    TEMPLATE = 'dashboard/auth/admin.html'

    def get(self, request):

        return render_to_response(request, self.TEMPLATE)

然后配置urls

from .views.auth import Login, AdminManger

urlpatterns = [
    path('', Index.as_view(), name='dashboard_index'),
    path('login', Login.as_view(), name='dashboard_login'),
    path('admin/manager', AdminManger.as_view(), name='admin_manager')
]

再在templates/dashboard/auth下新建一个admin.html

然后我们需要对左边栏的管理员按钮框框做一个映射,就是我们点击管理员,右边会出现相应的内容:
我们回到base.html,对管理员加上一个a标签。
因为在mako模板中,没有{% url ’ ’ %} , 不能像这样使用name了,如果想要使用name,可以使用Python的语法:

<%! from django.shortcuts import reverse %>
<li><a href="${reverse('admin_manager')}">管理员</a></li>

这样就可以了。
在这里插入图片描述
地址已经渲染过来了。

然后我们在nav.html中也加上跳转:

注意:需要在每个页面下都import,才能使用reverse的。
<%! from django.shortcuts import reverse %>

<a class="navbar-brand" href="${reverse('dashboard_index')}">dashboard</a>
2、在页面右上角显示username

在mako中我们不能直接使用user,但是user是在request中的,所以我们可以从request中获取到user。
我们在base_render中增加一句:result['request'] = request
然后我们在nav.html模板中右上角的用户那里,改成:${request.user}
在这里插入图片描述

3、注销

现在auth中定义logout

from django.contrib.auth import login, authenticate, logout

class Logout(View):

    def get(self, request):
        logout(request)
        return redirect(reverse('dashboard_login'))

然后把logout注册到urls,path('logout', Logout.as_view(), name='logout'),

在到nav.html,在右上角的用户处,点击可以选择注销。
在注销那里加上:<li><a href="${reverse('logout')}">注销</a></li>
试了一下OK的。

4、展示所有管理员

auth中:

# 管理员用户
class AdminManger(View):
    TEMPLATE = 'dashboard/auth/admin.html'

    def 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值