当前位置 博文首页 > 铭铭铭铭天的博客:博客项目--博客模型
创建子应用
python manage.py startapp Article
注册子应用
在settings.py 的文件中的 INSTALLED_APPS 下注册子应用
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blog',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
在mysql 数据库里创建一个 blog 库
create database blog charset=utf8;
检查:python manage.py check
django 默认使用mysqldb作为mysql数据库操作模块,python3默认采用pymysql导致的兼容问题
需要在项目主目录的__init__.py当中加入两行代码
import pymysql
pymysql.install_as_MySQLdb()
from django.db import models
from ckeditor.fields import RichTextField
# Create your models here.
GENDER_LIST = (
(0,'女'),
(1,'男')
)
# 作者类
class Author(models.Model):
name = models.CharField(max_length=32,verbose_name='作者姓名')
gender = models.IntegerField(choices=GENDER_LIST,verbose_name='性别')
age = models.IntegerField(verbose_name='年龄')
email = models.EmailField(verbose_name='邮箱')
class Meta:
db_table = 'authors'
# 文章类型
class Type(models.Model):
name = models.CharField(max_length=32)
description = models.TextField()
class Meta:
db_table = 'type'
# 文章类
class Article(models.Model):
title = models.CharField(max_length=32)
date = models.DateField(auto_now=True)
content = models.TextField()
description = models.TextField()
author = models.ForeignKey(to=Author,on_delete=models.CASCADE)
type = models.ManyToManyField(to=Type)
class Meta:
db_table = 'article'
写完模型之后需要在数据库中同步生成对应的表结构,