首页 > 编程语言 >Python基础day65 BBS个人博客项目完整搭建

Python基础day65 BBS个人博客项目完整搭建

时间:2023-08-14 14:55:18浏览次数:50  
标签:ForeignKey Python 项目 blog day65 user article BBS id

BBS-个人博客项目的完整搭建

项目开发流程

一、项目分类
现在互联网公司需要开发的主流web项目一般分为两类:面向互联网用户,和公司内部管理。

面向互联网用户: C(consumer)端项目
公司内部管理:B(business)端项目

还有一类web应用,基本采用基于角色的权限控制,不同的员工在这套系统中拥有不同的权限,适用于公司内部管理。

# 基于权限的后台关系系统
RBAC权限管理系统

二、项目开发模式分类
# 最常见的两类为瀑布开发模式和敏捷开发模式。
1、瀑布开发模式
    将所有功能全部写完后一次性交给测试排查BUG,再返回一次性解决
2、敏捷开发模式
    每开发一个或多个功能就交给测试排查BUG,多次返回解决BUG
3、项目开发流程

-立项
-需求分析
-原型图(产品画的)
-切图
-技术选型,数据库架构设计
-前后端协同开发
-上线测试服务器联调
-测试
-修改bug
-上线运行

BBS多人博客项目基本功能和需求

# 开发任意的项目第一个阶段就是弄清楚你要开发什么功能

# 一个项目最重要的是表结构的设计,大部分时间都是用来设计表.
# 你在企业中对于一个完成的项目写代码的时间大概有个30%,其余的时间都用来做铺垫
比如:产品需求的确定,技术选型,数据库设计...
# 注册登录功能

"""
    1. 用户表(你可以自己创建,也可以使用auth_user表)
        扩展auth_user表
        phone 
        avatar:用来存储头像的地址
        create_time:用户注册的时间
        ...
        
        blog_id = OneToOneField(to='blog')    
        
    2. 站点表(blog)
        站点名称
        站点标题
        站点样式:存的是css的路径
        
    3. 分类表(cate)
        分类名称
        blog = ForeignKey(to='blog')    
    4. 标签表
        标签名称
        blog = ForeignKey(to='blog')    
        
    5. 文章表(*******************article)
        文章标题
        文章摘要
        文章内容
        文章发表时间
        
        # 1. 通过文章id去点赞表或者评论表中查询
        # 优化
        # 2. 在文章表中增加子弹
        up_num            1
        down_num        1
        comment_num        4
        
        
        # 外键关系子弹
        cate = ForeignKey(to='cate')    
        tag  = ManyToManyField(to='tag')
        blog = ForeignKey(to='blog')    
       
        
        
    6. 点赞点踩表
        谁给哪篇文章什么时间点了赞还是踩
        user        ForeignKey(to='user')    
        article        ForeignKey(to='article')    
        is_up            0/1
        create_time
        
        id      user_id      article_id            is_up   create_time
        1            1            1                    0        ‘’
        2            2            1                    1        ‘’
    7.     评论表(comment)
        
        谁给哪篇文章在什么时间评论了什么内容
        user        ForeignKey(to='user')    
        article        ForeignKey(to='article')    
        content
        create_time
        parent_id        ForeignKey(to='comment')    
        parent_id        ForeignKey(to='self')
        #自关联
        
        id      user_id      article_id            content   create_time parent_id
        1            1            1                    0        ‘’            0
        2            2            1                    1        ‘’            1
        3            2            1                    1        ‘’            2
        
        
        子评论!!!
        评论评论的评论!!!
        根评论
        
        1. Python是世界上最好的语言
            1.1 PHP是世界上最好的语言
                1.2 Java是世界上最好的语言
                
            
     无限极分类    
        category表
        id                cate_name            pid
        1                手机/数码              0
        2                电脑/办公              0
        
        ...
        20                    手机通讯            1
        21                    运营商                 1
        ...
        
        
        
        50                5G手机                20
        51                手机                    20
        
        ...
        
        
        100                128G/5G                50
        
"""

 

标签:ForeignKey,Python,项目,blog,day65,user,article,BBS,id
From: https://www.cnblogs.com/zfq132/p/17628630.html

相关文章

  • 软件测试|Python科学计算神器numpy教程(五)
    NumPy的高级索引功能前言NumPy是Python中最受欢迎的科学计算库之一,它提供了丰富的功能来处理和操作数组数据。在本文中,我们将深入了解NumPy的高级索引功能,这些功能允许我们根据特定条件或索引数组来访问和修改数组的元素,为数据科学和数组操作提供了更大的灵活性和控制力。NumP......
  • 软件测试|Python科学计算神器numpy教程(六)
    NumPy的广播机制前言NumPy是Python中最受欢迎的科学计算库之一,它提供了高性能的多维数组对象和丰富的数组操作功能。其中,广播机制是NumPy的重要特性之一,它允许不同形状的数组进行算术运算,提供了灵活而高效的数组操作能力。在本文中,我们将深入探讨NumPy的广播机制,以便更好地理解......
  • Python实现透明隧道代理:不影响现有网络结构
    作为一名专业爬虫程序员,我们常常需要使用隧道代理来保护个人隐私和访问互联网资源。本文将分享如何使用Python实现透明隧道代理,以便在保护隐私的同时不影响现有网络结构。通过实际操作示例和专业的解析,我们将带您深入了解透明隧道代理的工作原理,并提供实用的操作价值。首先了解一下......
  • IronPython内存释放问题
    先给出优化后的代码:varoptions=newDictionary<string,object>{["LightweightScopes"]=true};ScriptEngineeng=IronPython.Hosting.Python.CreateEngine(AppDomain.CurrentDomain,options);varscope=eng.CreateScope();using(varstreamOut=n......
  • python语言学习-------------------------------------csv模块将有规律的分隔符去掉,转
    上代码:importcsvf=open("C:/Users/Administrator/Desktop/11.txt",'r')withf:reader=csv.reader(f,delimiter=",")forrowinreader:foreinrow:print(e)实现效果如下: G:\Python3.8解释器\python.exeC:/U......
  • 用于日常编程问题的 10 个 Python 代码片段
    Python已成为最受欢迎的编程语言之一,由于其灵活性、用户友好性和广泛的库。无论您是初学者还是有准备的开发人员,拥有一组方便的代码部分都可以为您节省大量时间和精力。在本文中,我们将深入研究十个可用于解决日常编程挑战的Python代码片段。我们将指导您完成每个片段,以简单的......
  • 使用Python做笔试编程题的注意事项
    上研究生这一两年一直在用Python,习惯了Python的库函数。由于Java语法严格又比较复杂,容易扰乱算法思路,并且太久没用以前擅长的C++,最近笔试一直首选Python。Python在笔试编程题中具有简洁易读、易于操作和大量的库支持的优点。然而,需要注意Python的执行效率,否则只要题目卡边界和时间......
  • Python全栈工程师(40:Web框架Django基础)
    Python的WEB框架有Django、Tornado、Flask等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。基础入门教程:http://www.runoob.com/django/django-tutorial.html安装:环境搭建与pycharm的配置django安装及MySQL数据库配......
  • Python学了基本语法 下一步该学什么 ?
    刚入门Python,学习了基本语法后,你可以开始编写简单的程序了。接下来,你可以学习Python的标准库和第三方库,掌握更多的编程技巧和知识,提高自己的编程能力。同时,也可以通过实践项目来巩固所学知识,提高自己的实战能力。学习Python基本语法是入门的第一步,接下来你可以考虑以下几个方向:1......
  • python模块之sys
    sys模块提供许多函数和变量来处理Python运行时环境的不同部分处理命令行参数在解释器启动后,argv列表包含了传递给脚本的所有参数,列表的第一个元素为脚本自身的名称.处理模块path列表是一个由目录名构成的列表,Python从中查找扩展模块(Python源模块,编译模块,或者二进......