1、前端逻辑
<div class="top-bar-right">
<ul class="header-user-links">
{% if user.username %}
欢迎您! <span style="font-weight: bolder;">[ {{ user.username }} ]</span>
 <a href="/logout/">退出登录</a>
{% else %}
<li>
<a href="/login/">登录</a>
<a href="/register/">注册</a>
</li>
{% endif %}
</ul>
</div>
2、配置路由
主路由
from django.contrib import admin
from django.urls import path,re_path,include
urlpatterns = [
path('admin/', admin.site.urls),
re_path('^',include('userapp.urls')),
re_path('^',include(('newsapp.urls','newsapp'),namespace='newsapp'))
]
子路由
from django.urls import path,re_path
from . import views
urlpatterns=[
re_path('^register/$',views.RegisterView.as_view()),
re_path('^usernames/(?P<username>[a-zA-Z_]{5,8})/count/$',views.UsernameCount.as_view()),
re_path('^logout/$',views.LogoutView.as_view())
]
3、定义视图
特别注意:退出功能,django自带的logout()函数帮我们实现了
源码实现的逻辑如下
from django.shortcuts import render
from django.views.generic.base import View
from . models import Users
from django.contrib.auth import login,logout
from django.shortcuts import redirect
from django.urls import reverse
class LogoutView(View):
def get(self,request):
'''
用户退出登录功能
:param request:
:return:
'''
logout(request)
return redirect(reverse('newsapp:index'))
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74092.html