项目:Django+Xadmin打造上线标准的在线教育平台—创建用户app

 Pala   2017-11-15 16:32   220 人阅读  0 条评论

注意:使用版本是python3

创建用户相关app

创建用户相关app,名称为users。

文件目录如下:

参考:django利用pycharm更加方面创建app

997.png

Models.py相关信息

用户相关的数据表创建,修改users/models.py文件

# -*- coding:utf-8 -*-

from __future__ import unicode_literals
from django.db import models
# AbstractUser 是django自带的用户表
from django.contrib.auth.models import AbstractUser
from datetime import datetime


class UserProfile(AbstractUser):
    # password = models.CharField(max_length=128, verbose_name='密码', default='', blank=False)
    # # 密码字段,长度128,默认值为空字符,前端不允许用户输入空
    # last_login = models.DateTimeField(verbose_name='登录日期', null=True)
    # # null=True 允许为空
    # is_superuser = models.BooleanField(max_length=1, verbose_name='用户身份', name=False)
    # username = models.CharField(max_length=150, verbose_name='用户名', null=False, blank=False)
    # first_name = models.CharField(max_length=30, verbose_name='拓展1', null=False)
    # last_name = models.CharField(max_length=30, verbose_name='拓展2', null=False)
    # email = models.EmailField(max_length=254, verbose_name='邮箱', null=False, blank=False)
    # is_staff = models.BooleanField(max_length=1, verbose_name='是否是员工', null=False)
    # is_active = models.BooleanField(max_length=1, verbose_name='是否激活', null=False)
    # date_joined = models.DateTimeField(verbose_name='注册日期', null=True)
    nick_name = models.CharField(max_length=50, verbose_name='昵称', default='')
    birday = models.DateField(verbose_name='生日', null=True)
    gender = models.CharField(max_length=5, verbose_name='性别', choices=(("male", "男"), ("female", "女")), default='male')
    # choices=(("male", "男"), ("female", "女"))  表示gener该字段只能输入male和female
    # default='male' 默认为male
    address = models.CharField(max_length=100, verbose_name='地区', default='')
    mobile = models.CharField(max_length=11, verbose_name='手机', null=True, blank=True)
    image = models.ImageField(upload_to='image/%Y/%m', verbose_name='头像', default='image/default.png', max_length=100)

    # upload_to='image/%Y/%m'

    class Meta:
        verbose_name = '用户信息表'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username


class EmailVerifyRecord(models.Model):
    code = models.CharField(max_length=20, verbose_name='验证码')
    email = models.EmailField(max_length=50, verbose_name='邮箱')
    send_type = models.CharField(max_length=10, choices=(('register', '注册'), ('forget', '找回密码')), verbose_name='邮箱验证类型')
    send_time = models.DateTimeField(verbose_name='生成时间', default=datetime.now)

    class Meta:
        verbose_name = '用户邮箱验证码表'
        verbose_name_plural = verbose_name


class Banner(models.Model):
    title = models.CharField(max_length=100, verbose_name='轮播图标题')
    image = models.ImageField(upload_to='banner/%Y/%m', verbose_name='轮播图片', max_length=100)  # 图片路径banner/%Y/%m  /年/月
    url = models.URLField(max_length=200, verbose_name='轮播图访问地址')
    index = models.ImageField(default=100, verbose_name='轮播图顺序')
    add_time = models.DateTimeField(default=datetime.now, verbose_name='轮播图添加时间')

    class Meta:
        verbose_name = '网站轮播图表'
        verbose_name_plural = verbose_name

MxOnline\settings.py信息添加

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users' # 新添加app名字
]

# 设置覆盖默认的User模型,其值引用一个自定义的模型
AUTH_USER_MODEL = 'users.UserProfile'

执行命令生成表:

参考:django利用pycharm更加方面使用django命令

makemigrations
migrate


本文地址:http://chenxm.cc/post/485.html
版权声明:本文为原创文章,版权归 Pala 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?