01.syl初始化项目结构+重写用户模型

1. 初始化项目结构

--shiyanlou_project
    |	.gitignore   # 提交git时要忽略的一些包
    |	README.en.md	# 项目简介英文
    |	README.md		# 项目简介中文
    |
    |---celery_task		# 用来存放celery相关文件
    |	    __init__.py
    |
    |---db			# 数据库相关:1.数据库初始化sql脚本; 2.数据库维护脚本,清理,备份脚本
    |---logs			# 存放日志
    |---packages		# 外部包,原始的,未配置的:1.七牛云sdk; 2.阿里云短信
    |---scrips			# 脚本目录:1.定时任务脚本; 2.页面静态化脚本,处理项目脚本
    |---uwsgi_conf		# uwsgi配置,日志,pid
    |
    |
    |---syl (创建的django项目)
    	|---apps (python包)			# Django各种app模块
        |---libs (python包)			# 七牛云sdk+配置
        |---utils(python包)			# 小工具,常用函数
        |---static
        |---templates
        |---syl (项目配置)
        |---manage.py




2 .创建django项目

root@dev:shiyanlou_project# workon syl
(syl) root@dev:shiyanlou_project# cd /aaa/shiyanlou_project/
(syl) root@dev:shiyanlou_project# django-admin startproject syl
# 注:创建三个python包, apps、utils、libs

3. 创建user模型

  1. 创建用户模型user
    python ../manage.py startapp user
    
  2. 在settings.py中注册user模型(第一步)
    INSTALLED_APPS = [
        'user.app.UserConfig',
    ]
    # 注:pycharm无法联想,需要把apps文件夹设置为源根
    
  3. syl/urls.py添加主路由(第二步)
    urlpatterns = [
    	path('user/', include('user.urls')),
    ]
    
  4. 创建user/urls.py子路由文件(第三步)
    from django.urls import path
    
    urlpatterns = [
        
    ]
    
  5. syl/settings.py中添加apps路径
    # 把apps目录插入,到系统包搜索路径第一个位置中
    sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
    

4.重写Django默认认证用户模型

  1. user/models.py创建模型:重写django的user表
    from django.db import models
    from django.contrib.auth.models import AbstractUser
    
    # Create your models here.
    class User(AbstractUser):
        phone = models.CharField('手机号', max_length=28)
        img = models.ImageField(upload_to='user',null=True)
        nick_name = models.CharField('昵称',max_length=20)
        address = models.CharField('地址',max_length=255)
    
        class Meta:
            db_table = 'tb_user'
    
  2. syl/settings.py中注册自己的用户模型类
    # 注册自己的用户模型类: 应用名.模型名,指定我们重写的User表进行身份验证
    AUTH_USER_MODEL = 'user.User'
    
  3. 配置mysql
    '''1.创建mysql数据库'''
    mysql> create database syldb charset utf8;
    
    '''2.在syl/settings.py中配置mysql'''
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'syldb', 		# 指定数据库名称:MyCRM
            'USER': 'root',
            'PASSWORD': '1',
            'HOST': '127.0.0.1',
            'PORT': '3306',
    	}
    }
    
  4. 生成表
    python manager.py makemigrations
    python manager.py migrate
    
原文地址:https://www.cnblogs.com/fiee/p/13731340.html