栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

(django)07 django用户认证

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(django)07 django用户认证

django用户认证

文章目录
  • django用户认证
    • 1.创建管理员用户superuser
    • 2.注册新用户
      • (1)用django后台创建
    • 3.和前端交互创建
      • (1)前端模板
      • (2)视图
      • (3)路由
      • (4)效果

1.创建管理员用户superuser
python manage.py createsuperuser

创建的用户可以在sqlite表里看到:

2.注册新用户 (1)用django后台创建

3.和前端交互创建 (1)前端模板

base.html套用了bootstrap的样式

{% load static %}



  
    
    
    
    
    {% block title %}base{% endblock %}

    
    

    
    
    
    {% block css %}{% endblock %}
  
  
    

    {% block content %}{% endblock %}


    
    
    
    
  

login.html

{% extends 'base.html' %}
{% load static %}


{% block title %}登录{% endblock %}
{% block css %}
    
{% endblock %}


{% block content %}
    
{% endblock %}

register.html

{% extends 'base.html' %}
{% load static %}


{% block title %}登录{% endblock %}
{% block css %}
    
{% endblock %}


{% block content %}
    
{% endblock %}

index.html

{#login/templates/index.html#}

{% extends 'base.html' %}
{% block title %}主页{% endblock %}
{% block content %}
    

欢迎回家!{{ name }}

{% endblock %}
(2)视图
from django.http import HttpResponse
from django.shortcuts import render, redirect


# Create your views here.
from django.contrib import auth
def login(request):
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 验证用户名和密码
        user_obj = auth.authenticate(username=username, password=password)
        # print(user_obj.username)
        if not user_obj:
            return redirect("https://blog.csdn.net/login/login/")
        else:
            auth.login(request, user_obj)
            return render(request, 'index.html',{'name':username})
    return render(request, 'login.html')

from django.contrib.auth.models import User
def register(request):
    if request.method == "POST":
        uname=request.POST.get('username')
        psd = request.POST.get('password')
        User.objects.create_user(username=uname, password=psd) # 调用create_user,数据库的密码是密文;调用create_superuser,可以指定email
        return HttpResponse("用户创建成功")
    return render(request,'register.html')


def index(request):
    return render(request,'index.html')
  • auth.authenticate应该只能验证通过密码的密文一致的用户,也就是说要用create_user创建新用户
(3)路由

子路由

from django.urls import path
from . import views

urlpatterns = [
    path('login/', views.login),
    path('index/', views.index),
    path('register/', views.register),
]
(4)效果



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号