django用户登录和注销的实现方法

时间:2021-05-22

django版本:1.4.21。

一、准备工作

1、新建项目和app

[root@yl-web-test srv]# django-admin.py startproject lxysite[root@yl-web-test srv]# cd lxysite/[root@yl-web-test lxysite]# python manage.py startapp accounts[root@yl-web-test lxysite]# lsaccounts lxysite manage.py

2、配置app

在项目settings.py中的

INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # Uncomment the next line to enable the admin: # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'accounts',)

3、配置url

在项目urls.py中配置

urlpatterns = patterns('', # Examples: # url(r'^$', 'lxysite.views.home', name='home'), # url(r'^lxysite/', include('lxysite.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), url(r'^accounts/', include('accounts.urls')),)

4、配置templates

新建templates目录来存放模板,

[root@yl-web-test lxysite]# mkdir templates[root@yl-web-test lxysite]# lsaccounts lxysite manage.py templates

然后在settings中配置

TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C://ajax/libs/jquery/1.9.0/jquery.min.js"></script>--> {% bootstrap_javascript_tag %} {% block extra_head %}{% endblock %}</head><body> {% if password_is_wrong %} <div class="alert alert-error"> <button type="button" class="close" data-dismiss="alert">×</button> <h4>错误!</h4>用户名或密码错误 </div> {% endif %} <div class="well"> <h1>数据库脚本发布系统</h1> <p>?</p> <form class="form-horizontal" action="" method="post"> {% csrf_token %} {{ form|as_bootstrap:"horizontal" }} <p class="form-actions"> <input type="submit" value="登录" class="btn btn-primary"> <a href="/contactme/"><input type="button" value="忘记密码" class="btn btn-danger"></a> <a href="/contactme/"><input type="button" value="新员工?" class="btn btn-success"></a> </p> </form> </div></body></html>

配置accounts的urls.py

from django.conf.urls import *from accounts.views import login,logout urlpatterns = patterns('', url(r'login/$',login), )

4、首页(index.html)

代码如下:

<!DOCTYPE html>{% load bootstrap_toolkit %}<html lang="en">{% bootstrap_stylesheet_tag %}{% bootstrap_stylesheet_tag "responsive" %}<h1>登录成功</h1><a href="/accounts/logout/"><input type="button" value="登出" class="btn btn-success"></a></html>

配置登出的url

from django.conf.urls import *from accounts.views import login,logout urlpatterns = patterns('', url(r'login/$',login), url(r'logout/$',logout), )

登录视图如下:调用djagno自带用户认证系统的logout,然后返回登录界面。

@login_requireddef logout(request): auth.logout(request) return HttpResponseRedirect("/accounts/login/")

上面@login_required标示只有登录用户才能调用该视图,否则自动重定向到登录页面。

三、登录注销演示

1、执行python manage.py runserver 0.0.0.0:8000

在浏览器输入ip+端口访问,出现登录界面

2、当用户名或密码为空时,提示“用户名和密码为必填项”

3、当用户名或密码错误时,提示“用户名或密码错误”

4、输入正确用户名和密码(创建数据库时生成的liuxiaoyan,password),进入主页

5、点击登出,注销登录,返回登录页面。

四、排错

1、'bootstrap_toolkit' is not a valid tag library

因为你的INSTALLED_APP没有安装'bootstrap_toolkit',安装即可。

资源链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章