初始化django项目结构

1.初始化项目结构

   └─shiyanlou_project
      │   .gitignore
      │   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 
         │ apps (python包)        # Django各种app模块 
         │ libs (python包)        # 七牛云sdk+配置 
         │ utils (python包)       # 小工具,常用函数 
         │ static 
         │ templates 
         │ syl(项目配置) 
         │ manager.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模型

3.1 创建用户模型user

 python ../manage.py startapp user      # 创建user模型

3.2 在setting.py中注册user模型(第一步)

 INSTALLED_APPS = [
      'user.apps.UserConfig', 
 ]
 # 注:pycharm无法联想,需要把apps文件夹设置为源根

3.3 syl/urls.py添加主路由(第二步)

 urlpatterns = [
     path('user/', include('user.urls')), 
 ]

3.4 创建 user/urls.py子路由文件(第三步)

 from django.urls import path 
 urlpatterns = [ 
 ]

3.5 syl/settings.py中添加apps路径

 # 把apps目录插入,到系统包搜索路径第一个位置中 
 sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

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

4.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=20) 
      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'

4.2 syl/settings.py中注册自己的用户模型类

 # 注册自己的用户模型类: 应用名.模型名,指定我们重写的User表进行身份验证 
 AUTH_USER_MODEL = 'user.User'

4.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.4生成表

 python manager.py makemigrations 
 python manager.py migrate
原文地址:https://www.cnblogs.com/ihszg/p/13733428.html