首页>>后端>>Python->django怎么样验证密码?

django怎么样验证密码?

时间:2023-12-12 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django怎么样验证密码的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

仅需三步,为Django admin增加登录验证码功能

首先,需要安装一个验证码的第三方库-django-simple-captcha,这是一个极其简单但可高度定制的 Django 第三方应用程序,用于将验证码图像添加到任何 Django 表单。

在项目的urls.py中注册刚才子类化的站点地址

终端启动站点

浏览器打开站点可以看到验证码已经添加成功了,但似乎样式不美观,这个就留给大家自己去研究吧,给个思路可以拷贝captcha默认的验证码模板,样式重写即可!

实现点击更换验证码功能

将如下代码加入到login.html模板的底部即可,别忘了引入Jquery.js哦!

到此大功告成,很简单的验证码功能就完成了!

下篇预告 :django实现前后端分离登录功能,并加入验证码功能!

django忘记密码怎么办

如果你是开发者,在django shell里面用user.set_password设置一下就行了。

django怎样验证用户是否登录

你没有用django自带的admin模块么?如果用自带的,他是不弹出窗口的,是个错误的MSG,在登录窗体的上方,红色字体显示;这个admin启用之后,就自动有登录界面和错误提示的,不需要自己再写任何代码;如果你想修改他的登录界面

django前后端完全分离如何做登录验证

前端直接带上用户名, 密码等参数向后台发请求, 怕密码安全问题就上https或约定好加解密方式, 后端严验证用户名和密码匹配后, 将用户信息存到session里面, response带上session_id给前端设置cookie就完了.

如何利用Django-auth做用户认证

首先,让我们开始创建项目和APP,前面我也很详细的说明了如何创建项目和APP。

创建数据库,和相关用户的权限。

root@CD-FTP-VPN:/opt/jastme# tree

.

|-- jastme

| |-- __init__.py

| |-- __init__.pyc

| |-- settings.py

| |-- settings.pyc

| |-- urls.py

| |-- urls.pyc

| |-- wsgi.py

| `-- wsgi.pyc

|-- login

| |-- admin.py

| |-- __init__.py

| |-- __init__.pyc

| |-- models.py

| |-- models.pyc

| |-- tests.py

| |-- views.py

| `-- views.pyc

|-- manage.py

`-- start.sh

2 directories, 18 files

root@CD-FTP-VPN:/opt/jastme#

使用python manage.py syncdb 来创建一个叫jastme,密码为jastme的超级用户。我们可以用Django-admin来管理这些用户。

首先看看setting.py

root@CD-FTP-VPN:/opt/jastme# more jastme/settings.py

"""

Django settings for jastme project.

For more information on this file, see

For the full list of settings and their values, see

"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)

import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

# Quick-start development settings - unsuitable for production

# See

# SECURITY WARNING: keep the secret key used in production secret!

SECRET_KEY = 'r!1=i^3qhwglr(zf*9n*ii!b_oy2h()ics(6(de3wuo0-oh8h'

# SECURITY WARNING: don't run with debug turned on in production!

DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = (

# 'django.contrib.admin', #注释掉admin

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'login',

)

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

# 'django.middleware.csrf.CsrfViewMiddleware', #这个中间件是防止跨站攻击的。有意思的朋友可以去搜索下。

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

ROOT_URLCONF = 'jastme.urls'

WSGI_APPLICATION = 'jastme.wsgi.application'

# Database

#

DATABASES = { #数据库的相关配置

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME':'jastme',

'USER':'jastme',

'PASSWORD':'jastme',

'HOST':'localhost',

'PORT':'3306',

}

}

# Internationalization

#

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)

#

STATIC_URL = '/static/'

TEMPLATE_DIRS =( #模板的路径

'/var/www/jastme/',

)

views.py

root@CD-FTP-VPN:/opt/jastme# more login/views.py

from django.shortcuts import render

from django.contrib import auth

# Create your views here.

from django.shortcuts import render_to_response

from django.contrib.auth import authenticate, login

from django.template.loader import get_template

from django.template import Context

from django.http import HttpResponse,HttpResponseRedirect

from django.contrib.auth.decorators import login_required

def my_login(request): #我们自定义一个函数,这个函数名字一定不要写成login,因为Django有有login模块。

if request.method == 'POST': #我们使用POST的方法来获取从HTML传递过来的表单内容

username = request.POST@['username'] #获取账号和密码

password = request.POST@['password']

user = authenticate(username=username, password=password) #我们用user来实例化 authenticate(username=username, password=password)

if user is not None: #用户名不为空

if user.is_active: #为激活用户

login(request, user) #调用django.contrib.auth中的login函数,可以具体去看看源码

return HttpResponseRedirect('/main') #登陆成功就重定向到主页

else:

login_error = 'login error.'

return render_to_response('login.html', {'login_error' : login_error, 'is_display' : 'display:block'}) #失败则返回登陆页面

return render_to_response('login.html', {'is_display' : 'display:none'}) #同理

@login_required #调用了这个修饰器,就可以让这个页面在成功登陆后才能访问

def main(request):

return HttpResponse('login sucess') #直接返回这个字符串

再看看urls.py

root@CD-FTP-VPN:/opt/jastme# more jastme/urls.py

from django.conf.urls import patterns, include, url

#from django.contrib import admin

from login.views import my_login,main #这里是我们导入的项目中的views.py中的模块,就是我们自己写的函数

#from django.contrib.auth.views import login, logout

urlpatterns = patterns('',

# Examples:

# url(r'^$', 'jastme.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

# url(r'^admin/', include(admin.site.urls)),

(r'^main/$',main),

(r'^login/$',my_login),

)

login.html

root@CD-FTP-VPN:/var/www/jastme# pwd

/var/www/jastme

root@CD-FTP-VPN:/var/www/jastme# ls

login.html

form action="" method="POST" #在此页面以POST的方式来提交参数

input type=text name="username"

input type=text name="password"

input type=submit value="send"

/form

结语:以上就是首席CTO笔记为大家整理的关于django怎么样验证密码的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django怎么样验证密码的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/28199.html