版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/85107118
一 判断用户是否登录
1 代码
<!--模板中声明引入静态文件的标签,只有使用它,static标签才能使用-->
{% load staticfiles %}
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="https://blog.csdn.net/chengqiuming"><img src="{% static '/images/logo.png' %}" width="100px"></a>
</div>
<div>
<ul class="nav navbar-nav" role="navigation">
<!--blog是urlpatterns中定义的namespace,blog_title是视图函数-->
<li><a href="{% url 'blog:blog_title' %}">记录我的点点滴滴</a></li>
</ul>
<ul class="nav navbar-nav navbar-right" style="margin-right:10px">
{% if user.is_authenticated %}
<li><a href="#">{{ user.username }}</a></li>
<li><a href="#">退出</a></li>
{% else %}
<li><a href="{% url 'account:user_login' %}">LOGIN</a></li>
{% endif %}
</ul>
</div>
</nav>
</div>
2 测试效果
二 内置退出方法
1 编辑mysite/account/urls.py
from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views
urlpatterns = [
# 自定义登录
# url(r'^login/$', views.user_login, name='user_login'),
# django内置的登录
url(r"^login/$", auth_views.login, name="user_login"),
url(r"^new-login/$", auth_views.login, {"template_name": "account/login.html"}),
url(r'^logout/$', auth_views.logout, {"template_name": "account/logout.html"}, name='user_logout'),
]
2 修改mysite/templates/header.html
<!--模板中声明引入静态文件的标签,只有使用它,static标签才能使用-->
{% load staticfiles %}
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="https://blog.csdn.net/chengqiuming"><img src="{% static '/images/logo.png' %}" width="100px"></a>
</div>
<div>
<ul class="nav navbar-nav" role="navigation">
<!--blog是urlpatterns中定义的namespace,blog_title是视图函数-->
<li><a href="{% url 'blog:blog_title' %}">记录我的点点滴滴</a></li>
</ul>
<ul class="nav navbar-nav navbar-right" style="margin-right:10px">
{% if user.is_authenticated %}
<li><a href="#">{{ user.username }}</a></li>
<li><a href="{% url 'account:user_logout' %}">退出</a></li>
{% else %}
<li><a href="{% url 'account:user_login' %}">登录</a></li>
{% endif %}
</ul>
</div>
</nav>
</div>
3 增加退出模板mysite/templates/account/logout.html
{% extends "base.html" %}
{% block title %}退出{% endblock %}
{% block content %}
<div class="row text-center vertical-middle-sm">
<p>你已经退出</p>
<p>你能再次 <a href="{% url 'account:user_login' %}">登录</a></p>
</div>
{% endblock %}
4 测试