bbs复习day01
BBS项目复习
day01
1.创建项目
2.配置设置
templates路径设置
数据库设置
第三方js,css文件路径设置
3.app创建
创建app
python38 manage.py createapp app01
app添加settings设置
4.表设计
1.用户表
2.站点表
3.文章表
4.文章分类表
5.文章标签表
6.点赞点踩表
7.文章评论表
1.创建用户表,利用
from django.contrib.auth.models import AbstractUser
管理员信息新增,使用自己建的表来使用
电话号码
用户头像:默认用户头像路径
创建时间:自增
2.站点表设计
站点名称
站点标题
站点样式
3.文章表
文章标题
文章内容
文章简介
文章创建时间
优化字段:
点赞数,评论数,点踩数(方便展示)
4.文章分类表
文章分类名称
5.文章标签表
文章标签名称
6.点赞点踩表
是否点赞
7.评论表
哪个用户评论
哪篇文章
评论内容
评论时间
是否有子评论
用户表与站点表
1对1
站点表与文章表
1对多
站点表与文章分类和文章标签
1对多
文章分类与文章表
1对多
文章表与文章标签
多对多
用户表和文章表与点赞点踩
1对多
用户表和文章表与文章评论
1对多
"""
外键创建
一对一:建在查询次数多的表
外键对应表名 = models.OneToOneField(to='外键对应表名', on_delete=models.CASCADE, null=True)
一对多:建在多的表
外键对应表名 = models.ForeignKey(to='外键对应表名', on_delete=models.CASCADE, null=True)
多对多:采用第三张表,建在查询次数多的那张表
外键对应表名 = models.ManyToManyField(to='外键对应表名',
through='第三张表名',
through_fields=('第三张表内关联第一张表名', '第三张表内关联第二张表名'),
null=True
)
# 修改admin后台管理的表名
class Meta:
verbose_name_plural = '表名'
"""
5.数据库迁移命令执行
# 将用户表修改为我们扩展的用户表
AUTH_USER_MODEL = 'app01.UserInfo'
python38 manage.py makemigrations
python38 manage.py migrate
6.首页搭建
复杂样式并修改
今日难点:
1.表关系的整理
2.settings部分的整理