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 ...
随机推荐
- SQL 操作字符串
SQL操作字符串相对来说比较难一点,现在总结几个常用的SQL 对字符串的操作: declare @dd nvarchar(12) set @dd='2015-03-13' print @dd decl ...
- 2.Magicodes.NET框架之路——策略管理
闲话策略 策略,有很多解释.但鄙人个人比较看重这点: 策略,是为了实现某个目标或者针对某些问题而制定的应对方案,以最终实现目标.比如为实现生娃而XXOO. 因此在本框架中,策略(Strategy),则 ...
- .net 数据类型转换int.Parse()与int.TryParse
int.Parse()是一种类容转换:表示将数字内容的字符串转为int类型. 如果字符串为空,则抛出ArgumentNullException异常: 如果字符串内容不是数字,则抛出FormatExce ...
- 【转载】在Centos系统上采用二进制文件部署Node.js环境
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...
- [angularjs] angularjs系列笔记(四)控制器
Scope作用域 Scope作用域是应用在HTML视图和Js控制器之间的纽带 Scope是一个对象,有可用的属性和方法 根作用域 所有的应用都有一个$rootScope,它可以作用在ng-app指令包 ...
- 最长滑道问题(非递归,C++)
这是爱奇艺的一道算法题. 题目描述请参考博客http://blog.csdn.net/sinat_30186009/article/details/52356053,在此表示感谢. 基本思路参考了以上 ...
- Java win7或 xp下配置JDK环境变量
JAVA win7或 xp下配置JDK环境变量 by:授客 QQ:1033553122 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08 ...
- clean 伪目标
下面的"clean"目标,是一个"伪目标", clean: rm *.o temp 我们生成了许多文件编译文件,我们也应该 ...
- adb命令笔记
adb devices [-l]: 列出所有连接设备 l: 列出设备限定符 adb connect <host>[:<port>]: 通过ip连接到设备 host: IP po ...
- Aurelia binding
今天介绍一下使用Aurelia binding 模块绑定HTML属性/事件的方式.我们依然使用之前创建的代码例子. Aurelia binding 绑定属性或者方法的通用模式就是 XXX.comman ...