python第一百三十天 ---简单的BBS论坛
简单的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论坛的更多相关文章
- 第一百三十九节,JavaScript,封装库--CSS选择器
JavaScript,封装库--修改元素选择器 就是将构造库函数修改成元素选择器,像css那样,输入#xxx .xxx xxx (获取指定id下的指定class下的指定标签元素) 修改后的基础库 / ...
- 第一百三十节,JavaScript,封装库--连缀
JavaScript,封装库--连缀 学习要点: 1.连缀介绍 2.改写库对象 本章我们重点来介绍,在调用库的时候,我们需要能够在前台调用的时候可以同时设置多个操作,比如设置CSS,设置innerHT ...
- 第一百三十八节,JavaScript,封装库--插件
JavaScript,封装库--插件 库主要是用来封装一般JavaScript的常规操作代码,而拖拽这种特效代码属于功能性代码,并不是必须的,所以这种类型的代码,我们建议另外封装,在需要的时候作为插件 ...
- 第一百三十六节,JavaScript,封装库--事件绑定
JavaScript,封装库--事件绑定 在函数库添加两个函数 添加事件绑定函数 删除事件绑定函数 添加事件绑定函数 /** addEvent()函数库函数,跨浏览器添加事件绑定,注意:传入事件名称时 ...
- 第一百三十五节,JavaScript,封装库--拖拽
JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...
- 第一百三十四节,JavaScript,封装库--遮罩锁屏
JavaScript,封装库--遮罩锁屏 封装库新增1个方法 /** zhe_zhao_suo_ping()方法,将一个区块元素设置成遮罩锁屏区块 * 注意:一般需要在css文件将元素设置成隐藏 ** ...
- 第一百三十三节,JavaScript,封装库--弹出登录框
JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...
- python第一百六十九天,第十九周作业
FIRSTCRM 学员管理开发需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成绩按课程分别统计 3.每个班级至少包含一个或多个讲师 4.一个学员要有状态转化的过程 ,比如未报 ...
- leecode第一百三十六题(只出现一次的数字)
class Solution { public: int singleNumber(vector<int>& nums) { int len=nums.size(); ; ;i&l ...
随机推荐
- python三大神器之virtualenv
virtualenv virtualenv用来管理python项目环境,隔离出一个只属于这个项目的虚拟python环境(windows和Linux用法一样). 首先你需要安装virtualenv模块 ...
- 设计模式之装饰模式,session共享的底层原理
前言 还记得当初写spring-session实现分布式集群session的共享的时候,里面有说到利用filter和HttpServletRequestWrapper可以定制自己的getSession ...
- WinFrom Thread里面new出来的控件不显示
那本More Effective C# 好多天没看了..惭愧. 做个小笔记吧. 今天碰到一个问题,描述如题. 何解?其实很简单,因为Thread里面new出来的控件的Parent是null,然后他就不 ...
- MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken
前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...
- 南大算法设计与分析课程OJ答案代码(5)--割点与桥和任务调度问题
问题 A: 割点与桥 时间限制: 1 Sec 内存限制: 5 MB提交: 475 解决: 34提交 状态 算法问答 题目描述 给出一个无向连通图,找到所有的割点和桥 输入 第一行:点的个数,如果点 ...
- [转]Sequelize 中文API文档-4. 查询与原始查询
本文转自:https://itbilu.com/nodejs/npm/VJIR1CjMb.html Sequelize中有两种查询:使用Model(模型)中的方法查询和使用sequelize.quer ...
- Tomcat日志设定
1 Tomcat 日志概述 Tomcat 日志信息分 为 两 类 : 一.是运行中的日志,它主要 记录 运行的一些信息,尤其是一些异常 错误 日志信息 .二.是 访问 日志信息,它 记录 的 访 ...
- 16.QT-QMap和QHash解析
QMap QMap原型为class QMap <K,T>,其中K表示键,T表示值,K和T属于映射关系. QMap会根据K来自动进行升序键排序 QMap中的K类型必须重载operator & ...
- python使用gevent实现并发下载器
并发下载原理 import gevent from gevent import monkey import urllib.request monkey.patch_all() def my_downl ...
- 【Java并发编程】23、ConcurrentHashMap原理分析(1.7和1.8版本对比)
jdk 1.8版本 ConcurrentHashMap在1.8中的实现,相比于1.7的版本基本上全部都变掉了.首先,取消了Segment分段锁的数据结构,取而代之的是数组+链表(红黑树)的结构.而对于 ...