Django项目——注销

一 注销URL 

# -*- coding: utf-8 -*-

from django.conf.urls import url
# 导入views中login
from django.contrib.auth.views import login

from . import views

'''
1 第一个url解析
登录页面的 URL 模式与 URL http://localhost:8000/users/login/ 匹配。
这个 URL 中的单词 users 让 Django 在 users/urls.py 中查找,而单词login 让它将请求发送给 Django 默认视图 login
(注意,视图实参为 login ,而不是 views.login )。
鉴于我们没有编写自己的视图函数,我们传递了一个字典,告诉 Django去哪里查找我们将编写的模板。
这个模板包含在应用程序 users 而不是 learning_logs 中。
2 第二个url解析
注销 URL 模式,该模式与 URL http://locallwst:8000/users/logout/ 匹配。
URL 模式将请求发送给函数 logout_view() 。
这样给这个函数命名,旨在将其与我们将在其中调用的函数 logout() 区分开来
'''
urlpatterns = [
    # 登录页面.
    url(r'^login/$', login, {'template_name': 'users/login.html'},
        name='login'),
        
    # 注销.
    url(r'^logout/$', views.logout_view, name='logout'),
    
    # Registration page.
    url(r'^register/$', views.register, name='register'),
]

二 视图函数 logout_view

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
# 从 django.contrib.auth 中导入了函数 logout()
from django.contrib.auth import login, logout, authenticate
from django.contrib.auth.forms import UserCreationForm

def logout_view(request):
    """ 注销用户 """
    # 调用了函数 logout() ,它要求将 request 对象作为实参。
    logout(request)
    # 我们重定向到主页
    return HttpResponseRedirect(reverse('learning_logs:index'))
三  链接到注销视图

三  链接到注销视图

学习笔记 - 主题 - {% if user.is_authenticated %} 你好, {{ user.username }}. 退出 {% else %} 注册 - 登录 {% endif %}

四 测试

Django项目——注销_第1张图片

Django项目——注销_第2张图片

 

你可能感兴趣的:(Django)