首先先创建注销的入口,在base.html中修改
<ul class="nav navbar-nav navbar-right">
<li><a href="/account/login/">登录</a></li>
<li><a href="/account/register/">注册</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">个人信息 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/account/logout/">注销</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
效果如下:
然后就是配置url路径
urlpatterns = [
# 部门管理
path("dept/list/", dept.dept_list),
path("dept/add/", dept.dept_add),
path("dept/<int:nid>/edit_detail/", dept.dept_editdetail),
path("dept/<int:nid>/delete/", dept.dept_delete),
path("dept/search/", dept.dept_search),
# 管理员管理
path("admin/list/", admin.admin_list),
path("admin/add/", admin.admin_add),
# 登录
path("account/login/", account.account_login),
# 注册
path("account/register/", account.account_register),
# 注销
path("account/logout/", account.account_logout),
]
然后去account.py中去定义函数account_logout
def account_logout(request):
# 1 实现注销的功能
request.session.clear()
# 2 跳转回登录界面
return redirect("/account/login/")
我们来试试。
这是我刚才用chrome登录的session
我现在点击注销,效果如下:
可以看到,刚我点击注销的时候,回到了登录界面。