“剪不断,理还乱” 在经历了n次重开之后,决定记录一下眼下似乎勉强能看的这遍,希望不要再remake了。
首先要清楚代码的组织,虽然目前还没写完所有的模块,但要清楚项目文件的目录结构(忽略掉那个前端文件夹)
写appmodels的过程没什么好说的,细心些就好,注意charfile函数有一个必须有的字段max_length,必须要赋值;注意注册的时候,有些值允许为空,有些值必须不为空,都要做约束;还有将验证码保存到数据库时要同时保存一下更新的时间,注意datetime获取当前时间的方法。
然后来到建表这一步。
在建表之前一定要注意看看settings里的这几句
import os
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, BASE_DIR)
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
# 替换系统用户
AUTH_USER_MODEL = 'users.UserProfile'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'user.apps.UserConfig',
'DjangoUeditor',
'users',
'goods',
'trade',
'user_operation',
]
接下来就可以开始建表了
上方菜单栏Tools->Run manage.py…
依次执行命令:
manage.py@HIS > makemigrations
此时每个app的migrations目录下都会出现这样一个文件,当之后再对表进行修改,如修改某些属性时,每次更新都会建立一个新的initial文件。
# 生成数据表的命令
manage.py@HIS > migrate
不必担心表重复
成功的话结果是这样的
到数据库中查看:
相关错误信息
django.core.exceptions.ImproperlyConfigured: Application labels aren’t unique, duplicates: apps
django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model ‘users.UserProfile’ that has not been installed
LookupError: No installed app with label ‘admin’.