简单的BBS论坛 实现功能

git仓库地址:https://github.com/uge3/BBS

1、整体参考“抽屉新热榜” + “博客园”

2、实现不同论坛版块

3、帖子列表展示

4、个人博客主页

5、个人博客标签、分类、时间 筛选

6、帖子评论数、点赞数展示

7、允许登录用户发贴、评论、点赞

8、允许上传文件(个人头像)

9、可进行多级评论

10、个人博客后台管理(创建\编辑\删除文章,个人分类\个人标签管理,可以选择个人博客主题,)

11, 通过admin模块可以管理(添加\删除)论坛版动,管理博客的主题.

说明:
启用前:请先通过admin模块进行版块,博客主题的添加(当前 admin模块 用户名:admin 密码:adminadmin
版块:python go liunx 博客主题: 3个 )
程序结构:

 BBS/#主目录

  |- - -BBS/# 主程序目录

 |       |- - -init.py

 |       |- - -settings#配置文件

 |       |- - -urls.py#主路由

 |       |- - -wsgi.py#WSIG规范文件

 |

 |

 |- - -backend/#个人博客后台程序目录

 |       |- - -init.py

 |       |- - -admin.py

 |       |- - -apps.py

 |       |- - -auth/#登陆装饰函数目录

 |       |     |- - -auth.py #登陆装饰函数

 |       |

 |       |- - -forms/#表单验证函数目录

 |       |     |- - -article.py #表单验证函数

 |       |

 |       |- - -migrations

 |       |     |- - -init.py

 |       |

 |       |- - -models.py

 |       |

 |       |- - -templatetags/#注册为模块 load

 |       |     |- - -serach.py#条件搜索生成

 |       |

 |       |- - -tests.py

 |       |- - -urls.py#后台路由

 |       |

 |       |- - -views/#视图函数

 |       |     |- - -user.py#逻辑函数

 |

 |- - -db.sqlite3/Django自带数据库

 |- - -manage.py#管理Django程序

 |- - -Monaco.ttf#字体库

 |

 |- - -repository/#数据表结构目录

 |       |- - -init.py

 |       |- - -admin.py# django 管理注册

 |       |- - -apps.py

 |       |- - -migrations/#数据库操作日志

 |       |- - -models.py#表结构

 |       |- - -tests.py#单元测试

 |

 |

 |- - -static/#静态文件目录

 |       |- - -css/# css文件目录

 |       |- - -imgs/# 图片文件目录

 |       |- - -js/#js文件目录

 |       |- - -plugins/#前端框架文件目录

 |

 |- - -templates/#HTML文件目录

 |       |- - -backend_add_article.html#增加文章页面

 |       |- - -backend_article.html#个人文章页面

 |       |- - -backend_base_info.html#个人信息管理页面

 |       |- - -backend_category.html#个人分类管理页面

 |       |- - -backend_edit_article.html#个人文章编辑页面

 |       |- - -backend_index.html#个人管理主页面

 |       |- - -backend_no_article.html#个人无文章显示页面

 |       |- - -backend_tag.html#个人标签管理页面

 |       |- - -home.html#个人博客主页面

 |       |- - -home_detail.html#个人博客文章详细页面

 |       |- - -home_title_list.html#个人博客文章分类页面

 |       |- - -include/#include 目录(可包含)

 |       |       |- - -header.html#顶部菜单模板

 |       |- - -index.html#主页面

 |       |- - -login.html#登陆页面

 |       |

 |       |- - -master/#母板目录

 |       |       |- - -backend_layout.html#后台页面模板

 |       |       |- - -home_layout.html#显示页面模板

 |       |- - -register.html#注册页面

 |

 |- - -utils/#自定义插件目录

 |       |- - -check_code.py#验证码

 |       |- - -pagination.py#分页

 |       |- - -xss.py#XSS过滤

 |- - -web/#WEB主页面服务端程序目录

 |       |- - -init.py

 |       |- - -admin.py

 |       |- - -apps.py

 |       |- - -forms/#表单验证函数

 |       |       |- - -account.py#登陆相关

 |       |       |- - -base.py#表单相关

 |       |- - -migrations/#

 |       |- - -tests.py#

 |       |- - -urls.py#对应关系 (路由)

 |       |- - -views/##视图函数

 |       |       |- - -init.py

 |       |       |- - -account.py#登陆相关函数

 |       |       |- - -home.py#主页面相关函数

 |       |

 |

 |- - -README

python第一百三十天 ---简单的BBS论坛的更多相关文章

  1. 第一百三十九节,JavaScript,封装库--CSS选择器

    JavaScript,封装库--修改元素选择器 就是将构造库函数修改成元素选择器,像css那样,输入#xxx .xxx xxx  (获取指定id下的指定class下的指定标签元素) 修改后的基础库 / ...

  2. 第一百三十节,JavaScript,封装库--连缀

    JavaScript,封装库--连缀 学习要点: 1.连缀介绍 2.改写库对象 本章我们重点来介绍,在调用库的时候,我们需要能够在前台调用的时候可以同时设置多个操作,比如设置CSS,设置innerHT ...

  3. 第一百三十八节,JavaScript,封装库--插件

    JavaScript,封装库--插件 库主要是用来封装一般JavaScript的常规操作代码,而拖拽这种特效代码属于功能性代码,并不是必须的,所以这种类型的代码,我们建议另外封装,在需要的时候作为插件 ...

  4. 第一百三十六节,JavaScript,封装库--事件绑定

    JavaScript,封装库--事件绑定 在函数库添加两个函数 添加事件绑定函数 删除事件绑定函数 添加事件绑定函数 /** addEvent()函数库函数,跨浏览器添加事件绑定,注意:传入事件名称时 ...

  5. 第一百三十五节,JavaScript,封装库--拖拽

    JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...

  6. 第一百三十四节,JavaScript,封装库--遮罩锁屏

    JavaScript,封装库--遮罩锁屏 封装库新增1个方法 /** zhe_zhao_suo_ping()方法,将一个区块元素设置成遮罩锁屏区块 * 注意:一般需要在css文件将元素设置成隐藏 ** ...

  7. 第一百三十三节,JavaScript,封装库--弹出登录框

    JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...

  8. python第一百六十九天,第十九周作业

    FIRSTCRM 学员管理开发需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成绩按课程分别统计 3.每个班级至少包含一个或多个讲师 4.一个学员要有状态转化的过程 ,比如未报 ...

  9. leecode第一百三十六题(只出现一次的数字)

    class Solution { public: int singleNumber(vector<int>& nums) { int len=nums.size(); ; ;i&l ...

随机推荐

  1. MongoDB分片详解

    分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介    分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不 ...

  2. Perl的time、localtime和gmtime函数

    time用于返回当前时间点,但返回结果是以从1970年1月1日(纪元由操作系统决定,但unix系统一般都是1970年1月1日)距离现在的秒数表示的 localtime用于返回给定时间的秒.分.时.日. ...

  3. DNS工作原理

    一.简述dns DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp, ...

  4. TortoiseGit为github账号添加SSH keys,解决pull总是提示输入密码的问题

    每次同步或者上传代码到githun上的代码库时,需要每次都输入用户名和密码,这时我们设置一下SSH key就可以省去这些麻烦了.若果使用TortoiseGit作为github本地管理工具,Tortoi ...

  5. Linq中的Select与Select many

    Select与Select Many 之前在项目中查询数据库中的数据,都是通过sql语句来查询的,但是随着时代的发展,微软在.Net Framework 4.5版中推出的一个主要的特性——LINQ. ...

  6. [android] 开启新的activity获取他的返回值

    应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因 ...

  7. Java 数组声明的几种方式

    Java数组定义声明的几种方法: 1. 类型名称[] 变量名=new 类型名称[length]; 2.类型名称[] 变量名={?,?,?}; 3.类型名称[] 变量名=new 类型名称[]{?,?,? ...

  8. 1. 模拟Queue

    package com.gf.conn009; import java.util.LinkedList; import java.util.concurrent.atomic.AtomicIntege ...

  9. 6、两个数组的交集 II

    6.两个数组的交集 II 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: n ...

  10. python面向对象学习(四)继承

    目录 1. 单继承 1.1 继承的概念.语法和特点 1.2 方法的重写 1.3 父类的 私有属性 和 私有方法 2. 多继承 2.1 多继承的使用注意事项 2.2 新式类与旧式(经典)类 1. 单继承 ...