BBS

分析

项目的开发流程

1.需求分析
架构师 + 项目组组长 + 产品经理,架构师提前先设计一下大致的书写流程
2.项目设计:架构师、项目的框架选择、语言选择、数据库选择(主库、从库选择 、缓存数据库)、模块的划分
3.分组开发:架构师找组长开会、组长找组员开会、组员写代码
4.交付测试:需要自己写一些测试脚本 、本地测试,杜绝一些低级的错误
5.项目上线:交给客户的运维或者帮客户上线

注意:数据库的设计是最为重要的!!!

BBS表设计

用户表 里:继承auth_user表、phone、avatar、register_time
个人站点表 里:站点名称、站点标题、站点样式

文章分类表 里:分类名

文章标签表 里:标签名
文章表 里:文章标题、文章摘要、文章详情、创建日期
点赞点踩表 里:user 一对多用户、article 一对多文章、is_up 布尔值字段
文章评论表 里:user 一对多用户、article 一对多文章、content 普通字段、create_time 评论日期、parent ForeginKey(to=\'文章评论表\')、parent ForeginKey(to=\'self\')

一、bbs表与表之间的关系

二、注册功能

前端页面。在register.html文件中写

第一步、先配置数据库

 

 

 

 

 第二步:

在models文件中,建表

from django.db import models

# Create your models here.
from django.contrib.auth.models import AbstractUser
#要想用户表继承auth模块里的auth_user,要先导入AbstractUser.继承的目的是可以不用写基础的字段了
#django就会将userinfo表来替换auth_user表.并且之前auth模块所有的功能不变 参照的也是userinfo表
# 用户表
class UserInfo(AbstractUser):    #要去配置文件中配置AUTH_USER_MODEL = \'app01.UserInfo\'
    phone = models.BigIntegerField(null=True)
    avatar = models.FileField(upload_to=\'avatar/\',default=\'avatar/default.png\')
    create_time = models.DateField(auto_now_add=True)

    #设置外键
    blog = models.OneToOneField(to=\'Blog\',null=True) #null=True 是为了防止我们录入数据时报错
#站点表
class Blog(models.Model):
    site_name = models.CharField(max_length=32)
    site_title = models.CharField(max_length=64)
    site_theme = models.CharField(max_length=64)  #站点主题字段,模拟每个人都有自己的站点样式

#分类表
class Category(models.Model):
    name = models.CharField(max_length=32)

    #设置外键
    blog = models.ForeignKey(to=\'Blog\',null=True)

class Tag(models.Model):
    name = models.CharField(max_length=32)

    # 设置外键
    blog = models.ForeignKey(to=\'Blog\',null=True)

#文章表
class Article(models.Model):
    title = models.CharField(max_length=64)
    desc = models.CharField(max_length=254)
    content = models.TextField()   #存大段文本
    create_time = models.DateField(auto_now_add=True)

    #设置外键
    category = models.ForeignKey(to=\'Category\',null=True)   #一对多关系
    tags = models.ManyToManyField(to=\'Tag\',through="Article2Tag",through_fields=(\'article\',\'tag\'))  #多对多关系
    blog = models.ForeignKey(to=\'Blog\',null=True)

    #数据库优化设计:这三个字段,只有操作了有关这三个字段的表,这三个字段就要更新一次
    comment_num = models.BigIntegerField(null=True)  #评论总条数字段
    up_num = models.BigIntegerField(null=True)       #点赞数字段
    down_num = models.BigIntegerField(null=True)     #点踩数字段

#多对多的第三张表
class Article2Tag(models.Model):
    article = models.ForeignKey(to=\'Article\')
    tag = models.ForeignKey(to="Tag")

#点赞点踩表
class UpAndDown(models.Model):
    user = models.ForeignKey(to=\'UserInfo\')
    article = models.ForeignKey(to=\'Article\')
    is_up = models.BooleanField()   #传布尔值,存0/1
#评论表
class Comment(models.Model):
    user = models.ForeignKey(to=\'UserInfo\')
    article = models.ForeignKey(to=\'Article\')
    content = models.CharField(max_length=254)
    comment_time = models.DateField(auto_now_add=True)
    parent = models.ForeignKey(to=\'self\',null=True) #自关联字段

models中建表

注意:建好后,执行数据库的迁移命令

第三步:写功能:先导入from app01 import views

1.注册功能(用forms组件)

01、写forms组件

先建一个在应用下建一个py文件写forms组件(写类,类似于写models类。写钩子函数,要导入models)

作用是:校验用户提交的数据是否正确,并把不符合要求的数据给予 错误提示信息。

02、写views文件,导入写好的forms组件文件

03、写注册的html,进行静态文件配置。建一个静态static文件夹。永久配置

04、写register.html文件 搭建出注册页面

 

05、点击注册,提交ajax请求

相关推荐:

使用java实现BBS论坛发送邮件过程的案例分析

这篇文章主要介绍使用java实现BBS论坛发送邮件过程的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SpringBoot实践,开发社区登录模块今日份开启发送邮件三个步骤:1、邮箱设置首先需要注册一个新浪邮箱18215626061@sina.cn然后进入设置开启POP...

BBS升级版

BBS项目 项目的前期准备 1.django2.2创建一个django目录 (需要配置环境变量和数据库) 'DIRS':[os.path.join(BASE_DIR,'templates'),] 2.数据库准备我这里创建了一个库名为sql0107的数据库 DATABASES={ 'default':...

bbs项目(部分讲解)

文章评论业务完善 提交评论 评论框里面的内容会清空然后页面会有一个临时评论样式出现页面刷新才会出现评论楼样式 研究子评论特性 每个评论右侧都应该有回复按钮点击就可以填写子评论 点击回复按钮具体动作:评论框中自动添加@+评论的人名并换行聚焦 如何区分不同的回复按钮所对应的用户名 利用标签可以自定义属性...

BBS项目 未完待续

项目开发基本流程 1.需求分析 2.架构设计 3.分组开发 4.提交测试 5.交付上线 创建项目配置 环境配置 TEMPLATES=[ { 'BACKEND':'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.joi...

小福bbs——项目需求分析

#一、简单了解 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 第一个版本,根据项目预期情况形成 作业的正文 小福bbs——项目需求分析 其他参考文献 面向百度和邹欣老师的《构建之法》 二、详细说明 1.需求规格说明书的工作流程 ①组长协同组...

小福bbs—项目系统设计与数据库设计

这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 实现对校园论坛软件的制作,使其能够发布帖子,查看信息等 作业的正文 小福bbs——项目需求分析 其他参考文献 面向百度和邹欣老师的《构建之法》   一、团队项目的预期开发计划时间安排 日期 里程...

BBS项目-01

目录 BBS项目 BBS开发流程: BBS表格创建: BBS项目 BBS开发流程: BBS项目: 开发流程: 需求分析 草拟一些项目的大致技术点和流程 架构设计 架构师(框架语言数据库缓存数据库表设计拆分功能项目的报价 分组开发 任务按模块功能分的组长在拆分功能每个组员写几个小功能需要提前测试一下有...

BBS项目知识点汇总

目录 bbs项目知识点汇总 一.JavaScript 1替换头像 2form表单拿数据 3form组件error信息渲染 4添加html代码 5聚焦操作 二.html在线编辑器 三.后端图片生成 四.简单使用BeautifulSoup 五.使用auth组件保存用户上传文件 六.BBS内复杂的orm ...