8djange-用户登录验证退出-增加字段-修改-未登录自动跳转

6d757e1fccc0c4e1532e55b4ecb674da33c.jpg

from django.db import models

from django.contrib.auth.models import AbstractUser

from django.contrib.auth.models import User

# Create your models here.

# class Userapp(AbstractUser):
#     phone=models.CharField(max_length=30)


class Userup(models.Model):

    user=models.OneToOneField(User,unique=True,on_delete=models.CASCADE)

    phone=models.CharField(max_length=20)
*****************************************************************************
from django.shortcuts import render
from django.contrib.auth.models import User
from django.http import HttpResponse,HttpResponseRedirect
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate,login,logout
from app.models import Userup



# Create your views here.


def index(request):

    return render(request,'index.html')

def createuser(request):
    User.objects.create_user(username='zs',password='123')
    print('用户创建成功')
    return HttpResponse()

@login_required()
def detalis(request):
    return render(request,'details.html')



def mylogin(request):
    if request.POST:
        names=request.POST.get('names')
        passdd = request.POST.get('passdd')
        print(names)
        user=authenticate(username=names,password=passdd)
        if user is not None:
            login(request,user)
            print('登录成功')
            return HttpResponseRedirect('/detalis/')
        else:
            return render(request,'denglu.html')
    else:
        return render(request, 'denglu.html')


def mylogout(request):
    logout(request)
    return HttpResponseRedirect('/detalis/')


def zhuce2(request):
    if request.POST:
        userd=request.POST.get('userd')
        passd=request.POST.get('passd')
        phoned=request.POST.get('phoned')
        user=User()
        user.username=userd
        user.set_password(passd)
        user.save()

        up=Userup()
        up.user_id=user.id
        up.phone=phoned
        up.save()
        return render(request,'zhuce.html',{'msg':'用户创建成功'})
    else:
        return render(request,'zhuce.html')


def xiugaimima(request,username):
    if request.POST:
        passd=request.POST.get('passd')
        passdd=request.POST.get('passdd')
        user=User.objects.get(username=username)
        #验证是否能登录
        userd = authenticate(username=username, password=passd)
        if userd is not None:
            user.set_password(passdd)
            user.save()
            return render(request,'xiugaimima.html',{'msg':'修改成功'})
        else:

            return render(request, 'xiugaimima.html', {'msg': '原密码错误'})

        pass
    else:
        return render(request,'xiugaimima.html')

************************************************************************************

LOGIN_URL='/mylogin/'

# AUTH_USER_MODEL='app.Userapp'

fc924b831ebc24073077bef825c3b3ee8a8.jpg

5926c89c4486534e1b1b71ed96494ed9b40.jpg

e23747e721fd40bcb662ffe519155b70890.jpg

2c7982aa4df9c0600b65e26133f13d8494e.jpg

 

*****************************************************************************************************************************************

增加字段

9cc98d2d7e065229fefd4a80bf662f7ef66.jpg

4b583ce306fe18c7433aa2b0c80c38a6d70.jpg

*********************************************************************************

方案2

984f8e97c91206e351a93f92f573cc5df06.jpg

71ed3664590e330f92c345ab1f716fa5cce.jpg

eba595f0401950dfbef837975bf07ccfa48.jpg

5130763832ac061f66ba8bee737bbe6b9df.jpg

*******************************************************************************************************************

修改密码业务

6c65749439d4e9729cf2fb753cbc5730c27.jpg

694f1fdec2436cc96a9d219375fdbefb56d.jpg

3279d868030e1a1acd2e818f1c01e499378.jpg

9f9bba3dfb32c6d4d5c8fbe491438dfeaf4.jpg

98837946cadbbf32f1026ec157db672ac29.jpg

转载于:https://my.oschina.net/u/4036782/blog/2966794

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值