当前位置:   article > 正文

Django的用户登录和注册_django用户登录与注册

django用户登录与注册

能成功登录和注册并实现页面之间的跳转

前提:能成功安装基础的Django

创建应用并添加到项目中

python .\manage.py startapp user
在这里插入图片描述

创建存放模板的目录并添加到项目中

在这里插入图片描述

欢迎界面

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>陈十一yi的主页</title>
</head>

<body>
    <h1>欢迎登录</h1>
    <h3>您好!欢迎您,{{name}}</h3>


</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

用户登录界面

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>陈十一yi-用户登录</title>
</head>

<body>
    <form method="POST" action="/login/">
        {%csrf_token%} 
        用户名:<input type="text" name="username" /><br/> <br/>&nbsp;&nbsp;码:<input type="password" name="password" /><br/>
        <button type="submit">登录</button>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reg/">注册新用户</a>
        {{ msg }}
    </form>
</body>

</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

注册界面

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>用户注册</title>
</head>

<body>
    <form method="POST" action="/reg/">
        {%csrf_token%} 
        用户名:<input type="text" name="username" /><br/>&nbsp;&nbsp;码:<input type="password" name="password" /><br/>&nbsp;&nbsp;箱:<input type="text" name="email" /><br/>
        <button type="submit">注册</button> {{ msg }}
    </form>
</body>

</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

定义视图

在这里插入图片描述
在这里插入图片描述

from django.shortcuts import render,redirect
from django.contrib.auth.models import User
from django.contrib.auth import login,logout,authenticate
# Create your views here.
#登录
def loginView(request):
    if request.method=="POST":
        username=request.POST.get("username")
        password=request.POST.get("password")
        if User.objects.filter(username=username):
            user=authenticate(username=username,password=password)
            if user:
                if user.is_active:
                    login(request,user)
                    # msg="登录成功"
                    request.session['status']=True
                    request.session['uname']=username
                    request.session.set_expiry(300)
                   
                return redirect("/index/")
            else:       
                msg="用户名密码错误"
        else:
            msg="用户名不存在"
    return render(request,"login.html",locals())        

#注册
def regView(request):
    if request.method=="POST":
        username=request.POST.get("username")
        password=request.POST.get("password")
        email=request.POST.get("email")
        if User.objects.filter(username=username):
            msg="用户名已存在"
        else:
            user=User.objects.create_user(username=username,password=password,email=email)
            msg="注册成功"
            return redirect("/login/")
    return render(request,"register.html",locals())

##主页
def index(request):
    return  render (request,"index.html",{"name":request.session.get('uname')})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

添加路由

在这里插入图片描述

from django.contrib import admin
from django.urls import path
from user.views import loginView,regView,index

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/',loginView),
    path('reg/',regView),
    path('index/',index),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

验证

web登录127.0.0.1:8000/login用创建的用户没有点注册即可创建用户
在这里插入图片描述
在这里插入图片描述
注册新用户
在这里插入图片描述

在这里插入图片描述

登录新用户
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/395838
推荐阅读
相关标签
  

闽ICP备14008679号