简单的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 ...
随机推荐
-
【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)
Change Log: 2015.08.20 - 添加podspec文件更新方法 2015.08.19 - 首次发布 概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知 ...
-
---添加一条记录返回一条记录的ID
INSERT INTO Web_AD(PID,ADType,ADTitle,ADTitle1,ADTitle2,ADTarget,LinkURL,DispalyWords,ADCode,UploadI ...
-
Android SQLite 事务处理
应用程序初始化时需要批量的向sqlite中插入大量数据,单独的使用for+Insert方法导致应用响应缓慢,因为 sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作.我 ...
-
服务器 &#39;XXXXXX&#39; 上的 MSDTC 不可用。解决方法
今天在C#中操作数据库的时候突然发现这个问题:服务器 'USER-XXX' 上的 MSDTC 不可用. 解决方法: 在windows控制面板 --> 管理工具 --> 服务 --> ...
-
AFNetworking 源码解读
最近开始看第三方库优秀源码的计划,这是第一个,AFNetworking来和大家分享一下. AFNetworking 是一个十分优秀的网络框架,简单易用. 在开始之前,最好先了解一下NSURLSessi ...
-
python之旅九【第九篇】socket
什么是socket 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket ...
-
HDU5616 天平能否称出物体重量问题 01背包变形或者折半搜索
//hdu5616 void solve1(){dp[0]=1;for(int i=1;i<=n;i++){for(int j=INF;j>=val[i];j--){dp[j]|=(dp[ ...
-
史上最坑 idea 更改代码不生效
原来, 如果本地多次调整过系统时间,那么gradle 的缓存 会缓存 你的 上次编译时间再未来,那么你再怎么编译,都很难生效,即使删除了生成的字节码目录. 然后invalidate caches/re ...
-
python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...
-
UIScrollView视差效果动画
UIScrollView视差效果动画 效果 源码 https://github.com/YouXianMing/Animations // // ScrollImageViewController.m ...