Django的登录模块

Django的登录模块

导入

from django.contrib.auth.decorators import login_required   #登录验证装饰器
from django.contrib.auth.models import User
from django.contrib import auth  #登录 改密 注销一些的相关操作

装饰器

@login_required(login_url='/login/')  #装饰器  如果未登录 直接跳转 /login/
def index(request):
    return render(request, "index.html", {'msg': '又是美好的一天'})

注册

def register(request):
    if request.method == 'GET':
        return render(request, 'register.html')
    else:
        username = request.POST.get('username')    #获取前端传来的帐号和密码
        pwd = request.POST.get('pwd')

        # User.objects.create_superuser(username=username, password=pwd, email='[email protected]')
        User.objects.create_user(username=username, password=pwd)  #创建一个用户
    return HttpResponse('ok')

修改密码

@login_required(login_url='/login/')  #因为是登录之后才能改密码,所以需要登录之后改密码
def modify(request):
    if request.method == 'GET':
        return render(request, 'modify.html')
    else:
        old_pwd = request.POST.get('oldpwd')
        new_pwd = request.POST.get('newpwd')

        res = request.user.check_password(old_pwd)  #检测老密码的加密结果
        if res:
            request.user.set_password(new_pwd)  #设置新的密码
            request.user.save() #一定记得保存

            return HttpResponse('ok')
        else:
            return render(request, 'modify.html')

登录

def login(request):
    if request.method == 'GET':
        return render(request, 'login.html', {'meiri': 'xixi'})
    else:
        # 获取用户名和密码
        username = request.POST.get('username')
        pwd = request.POST.get('pwd')
        print(username, pwd)

        myuser = auth.authenticate(request, username=username, password=pwd)  #登录帐号 成功返回帐号,失败返回None
        if myuser is not None:
            my = auth.login(request, myuser)
            return render(request, 'index.html')
        else:
            return render(request, "login.html", {'res': '登录失败!'})

原文地址:https://www.cnblogs.com/bladecheng/p/11372260.html

时间: 2024-08-28 18:44:47

Django的登录模块的相关文章

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

Django创建App并简单实现登录模块

Django创建App并简单实现登录模块 什么是Django的APP? 此APP非andriodAPP.Django的APP可以理解为一个网站中的一个模块,我们可以将每个模块都单独写成一个APP,这样可以让项目变得相对整洁且更加好维护起来. 如何创建App? 1.创建Django工程 - BlogPorject django-admin startproject BlogPorject 2.创建App django-admin startapp application App目录介绍: appl

2.4.2、Django处理登录和注销

在上一节的基础上,我们已经引入了django.contrib.auth应用,我们就可以在view函数中判断用户是否已经登录以及获取用户信息: if request.user.is_authenticated():     #判断用户是否已登录 user = request.user;            #获取已登录的用户 else: user = request.user;            #非登录用户将返回AnonymousUser对象 Django的User对象提供了一系列的属性和

django实现登录时候输入密码错误5次锁定用户十分钟

django实现登录时候输入密码错误5次锁定用户十分钟 在学习django的时候,想要实现登录失败后,进行用户锁定,切记录锁定时间,在网上找了很多资料,但是都感觉不是那么靠谱,于是乎,我开始了我的设计,其实我一开始想要借助redis呢,但是想要先开发一个简单的,后续在拆分后,然后在去进行拆分, 这样也是很接近我们在真实的开发中所遇到问题. 我的思路是: 输入账号密码>是否已经登录>提示已经登录 输入账号密码>错误次数少于6次>校验密码>登录成功,记录登录时间,错误次数清空,记

用unix c系统函数实现的的注册登录模块

1 /* 登录模块,密码放在pass.db中*/ 2 #include <stdio.h> 3 #include <unistd.h> 4 #include <fcntl.h> 5 #include <stdlib.h> 6 #include <string.h> 7 #include <stdbool.h> 8 9 typedef struct Person{ 10 char name[20]; 11 char pass[20];

用struts做一个带有随机数字的图片验证登录模块

在我们平常的工作中,登录模块有一个小的功能,就是图片验证模块,今天我就把步骤一步一步写出来. 1.新建一个web service,然后再WebRoot写,一个contentType="image/jpeg"格式的image.jsp页面,最后一句代码是将页面以图片输出. 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <%@ page contentType="im

Python登录模块Demo示例

Python登录模块Demo示例: #!/usr/bin/env python # This content comes from alex. while True:     NAME = raw_input("Please input your name:\n")     if NAME == 'alex':         P = '123'         PASSWD = raw_input("Please input your password:\n")

django 自定义分页模块

django 自定义分页模块 from django.shortcuts import render, HttpResponse, redirect from django.utils.safestring import mark_safe class Page(object): def __init__(self, current_page): self.current_page = int(current_page) @property def start(self): return (se

【毕设】班级管理系统——登录模块

[登录模块介绍] 主要是处理用户的登录,赋予不同用户的不同权限.在登录模块中,系统在安全性上还增设了验证码和限制错误登录次数.主要目的是为了缓解服务器压力以及在一定程度上保护用户隐私. [界面设计] [登录错误图解] 限制错误登录次数功能说明:每名用户每次登陆初始时均有三次输入机会,一旦连续输错三次,则禁止再次输入,只能访问普通用户功能:若在一次或两次输错后但成功登陆者,输入机会将会再次重置为三次,以此类推. [程序流程图] [部分代码详解] private string UserA, PwA;