01.syl初始化项目结构+重写用户模型
1. 初始化项目结构
--shiyanlou_project
| .gitignore
| README.en.md
| README.md
|
|---celery_task
| __init__.py
|
|---db
|---logs
|---packages
|---scrips
|---uwsgi_conf
|
|
|---syl (创建的django项目)
|---apps (python包)
|---libs (python包)
|---utils(python包)
|---static
|---templates
|---syl (项目配置)
|---manage.py
2 .创建django项目
root@dev:shiyanlou_project
(syl) root@dev:shiyanlou_project
(syl) root@dev:shiyanlou_project
3. 创建user模型
- 创建用户模型user
python ../manage.py startapp user
- 在settings.py中注册user模型(第一步)
INSTALLED_APPS = [
'user.app.UserConfig',
]
- syl/urls.py添加主路由(第二步)
urlpatterns = [
path('user/', include('user.urls')),
]
- 创建user/urls.py子路由文件(第三步)
from django.urls import path
urlpatterns = [
]
- syl/settings.py中添加apps路径
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
4.重写Django默认认证用户模型
- user/models.py创建模型:重写django的user表
from django.db import models
from django.contrib.auth.models import AbstractUser
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'
- syl/settings.py中注册自己的用户模型类
AUTH_USER_MODEL = 'user.User'
- 配置mysql
'''1.创建mysql数据库'''
mysql> create database syldb charset utf8;
'''2.在syl/settings.py中配置mysql'''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'syldb',
'USER': 'root',
'PASSWORD': '1',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
- 生成表
python manager.py makemigrations
python manager.py migrate