- 创建完自己的app后需要到 settings.py 下注册(myapp)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
注:如果要重载user方法需要需要在setting中重载AUTH_USER_MODEL
AUTH_USER_MODEL = "users.UserProfile"
- 找到app目录下的 models.py 进行编辑
- 定义自己的类(注:该类写在apps名为users的model里)
# _*_ coding: utf-8 _*_
from __future__ import unicode_literals
from datetime import datetime
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class UserProfile(AbstractUser):
nike_name = models.CharField(max_length=10, verbose_name="昵称", default="")
birday = models.DateField(verbose_name="生日", null=True, blank=True)
gender = models.CharField(choices=(("male", u"男"), ("female", u"女")), default="male", max_length=6)
adress = models.CharField(max_length=100, default=u"", verbose_name=u"地址")
moblie = models.CharField(max_length=11, null=True, blank=True, verbose_name=u"手机")
image = models.ImageField(upload_to="upload/iamge/%Y/%m", default=u"image/defult.png", max_length=100)
class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name
def __unicode__(self):
return self.username
打开pychrom 中 tools中的 Run manage.py Task 工具 输入 makemigrations message 然后再 migrate message
通过数据库 查看数据表是否生成功
app统一管理
如果想要把自己创建的所有app放在一个目录下统一管理 需要在setting文件中加入 sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
from django.contrib.auth import update_session_auth_hash
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, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
Django常用数据类型:
models.ForeignKey
models.CharField
models.DateTimeField
models.IntegerField
models.IPAddressField
models.FileField
models.ImageField
如果migrates时出现以下错误
DjangoUeditor ModuleNotFoundError: No module named 'widgets'
可以尝试去github搜DjangoUeditor3,克隆到本地,复制文件夹里面的DjangoUeditor文件夹,放到虚拟环境下的lib/site-packages/下 https://github.com/twz915/DjangoUeditor3