zoukankan      html  css  js  c++  java
  • 第四百零六节,自定义用户表类来继承Django的用户表类,

    第四百零六节,自定义用户表类来继承Django的用户表类,

    models.py

    from django.db import models
    
    # Create your models here.
    from django.db import models
    from django.contrib.auth.models import AbstractUser    # django自带的用户表类
    
    
    class Userpro(AbstractUser):            # 继承django自带的用户表类
        nick_name = models.CharField(max_length=50,verbose_name='昵称',default='11')
    
        class Meta:
            verbose_name = '用户表'
            verbose_name_plural = verbose_name
    
        def __str__(self):
            return self.username

    settings.py

    AUTH_USER_MODEL = 'app1.Userpro'   # 设置用户表类名称,从app,类名称

    makemigrations  然后在输入   migrate   来生成表

    用户登录和验证

    #!/usr/bin/env python
    # -*- coding:utf8 -*-
    from django.shortcuts import render
    from django.contrib.auth import authenticate,login   # django自带用户认证方法
    
    def loging(request):
        if request.method == 'post':
            user = authenticate(username='用户名', password='密码')  # 只用于验证用户名和密码是否正确
            # 验证成功返回,用户对象,失败返回None
            if user is not None:
                login(request,user)      # login用于登录,第一个参数request,第二个参数接收验证返回的用户对象
                return render(request,'1.html')
    
    # login,会将用户登录状态从request注入到HTML页面,所以,在HTML页面可以判断到
    # { % if request.user.is_authenticated %}
    # ...
    # 判断用户是否登录...
    #
    # { % endif %}

    如果要求允许用户表里的两个字段中的任意一个字段值都可以登录,就需要逻辑处理页面需要重写authenticate

    2,配置信息

  • 相关阅读:
    POJ 1003 解题报告
    POJ 1004 解题报告
    POJ-1002 解题报告
    vi--文本编辑常用快捷键之光标移动
    常用图表工具
    September 05th 2017 Week 36th Tuesday
    September 04th 2017 Week 36th Monday
    September 03rd 2017 Week 36th Sunday
    September 02nd 2017 Week 35th Saturday
    September 01st 2017 Week 35th Friday
  • 原文地址:https://www.cnblogs.com/adc8868/p/7674032.html
Copyright © 2011-2022 走看看