个人Blog博客系统

基于"python3.6.5"和"Django2.1"开发的的个人博客系统。

层级结构

cd bbs;

tree .

├── bbs

│   ├── __init__.py

│   ├── settings.py # 配置文件

│   ├── urls.py # 路由配置

│   └── wsgi.py # web网关模块

├── blog

│   ├── admin.py # 后台管理

│   ├── apps.py # 应用

│   ├── forms.py # form组件

│   ├── __init__.py

│   ├── migrations # ORM生成文件

│   │   ├── 0001_initial.py

│   │   ├── __init__.py

│   ├── models.py # 数据库模型表

│   ├── templatetags # tag归档模块

│   │   ├── __init__.py

│   │   ├── my_tags.py

│   ├── tests.py

│   ├── urls.py # 二层分级路由

│   └── views.py # 视图函数

├── manage.py # 启动文件

├── media # 媒体文件相关

│   ├── add_article_img

│   └── avatars

├── static # 静态文件

│   ├── bootstrap

│   ├── fontawesome

│   ├── img

│   ├── jquery-3.3.1.js

│   ├── kindeditor

│   ├── mystyle.css

│   ├── setupajax.js

│   └── theme

│   ├── cyy.css

│   └── jesi.css

├── templates # 模板文件

│   ├── add_article.html

│   ├── article_detail.html

│   ├── base.html

│   ├── home.html

│   ├── index.html

│   ├── left_menu.html

│   ├── login.html

│   └── register.html

└── util # 工具包

├── __init__.py

├── page.py

主要功能:

用户的登录,注册,注销,使用滑动验证的人性化体验,并且对新注册用户,用户名重复进行了实时校验。

对邮箱格式,重复,以及密码长度有着更为细致的安全体验。

文章,页面,分类目录,标签的添加,删除,编辑等。

文章删除做了更加人性化的二次确认优化。

添加文章页面支持编辑器,支持代码高亮,支持图片图文和地址等各种格式的插入。

楼层回复功能,支持@用户的楼中楼回复。

侧边栏功能,时间归档,文章分类,文章标签等。

支持预防XSS攻击功能,防止恶意用户进行XSS代码攻击。

支持点赞点踩功能,并且进行了人性化的设置。

安装

使用pip安装:

pip install virtualenv

virtualenv -p /usr/bin/python3.6 my_project_env

source my_project_env/bin/activate

pip3 install -Ur requirements/base.txt

配置

配置都是在setting.py中.部分配置迁移到了后台配置中。

很多setting配置我都是写在环境变量里面的.并没有提交到github中来.例如邮件部分的配置等.你可以直接修改代码成你自己的,或者在环境变量里面加入对应的配置就可以了.

test目录中的文件都是为了travis自动化测试使用的.不用去关注.或者直接使用.这样就可以集成travis自动化测试了.

在linux环境中使用Nginx+UWSGI+virtualenv+supervisor来部署的脚本和Nginx配置文件.可以参考我的文章:

有详细的部署介绍.

运行

修改blog/setting.py 文件更新个人数据库配置,如下所示:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'bbs',

'USER': 'root',

'PASSWORD': 'password',

'HOST': 'host',

'PORT': 3306,

}

}

创建数据库

mysql数据库中执行:

CREATE DATABASE `bbs`;

然后终端下执行:

python manage.py makemigrations

python manage.py migrate

即可利用Django自带的ORM创建所需的MySQL库表。

创建超级用户

终端下执行:

`python manage.py createsuperuser`

输入用户名以及相关密码后即可完成创建超级用户,登录admin.

开始运行:

最后执行:

python manage.py runserver

更多配置:

问题相关

有任何问题欢迎提Issue,或者将问题描述发送至我邮箱 guocheng@daixiaomi.com.我会尽快解答.

基于python的博客设计与开发_GitHub - juanshifanhua/bbs: 毕业设计:基于Python的博客系统的设计与实现...相关推荐

  1. 计算机毕业设计Java校园帮代服务系统的设计与实现(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java校园帮代服务系统的设计与实现(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java校园帮代服务系统的设计与实现(源码+系统+mysql数据库+Lw文档) 本源码技术栈 ...

  2. (毕业设计)springboot大学生健康报送系统的设计与实现 附源码091005

    目 录 摘要 1 1 绪论 1 1.1研究背景与意义 1 1.2开发现状与发展趋势 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 大学生健康报送系统系统分析 3 2.1 可行性分 ...

  3. 计算机毕业设计Java晨曦文学社在线投稿系统的设计与实现(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java晨曦文学社在线投稿系统的设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java晨曦文学社在线投稿系统的设计与实现(源码+系统+mysql数据库+lw文档) ...

  4. Java韦布尔分布,毕业设计(论文)-智能中国象棋系统的设计与实现.doc

    毕业设计(论文)-智能中国象棋系统的设计与实现 智能中国象棋系统的设计与实现 摘要 Intelligent Chinese Chess System Design and Implementation ...

  5. (附源码)nodejs+mysql+node基于vue框架的游戏商城设计及开发 -《夜幕》毕业设计262127

    Node.js<夜幕>游戏商城的开发 摘 要 现今人们的生活方式逐渐丰富,电脑和网络已经融入了人们生活中的滴滴点点,无时不刻的影响着我们的日常生活,网络游戏已经进入到了大多数人的生活之中. ...

  6. 【源码开发分享】计算机毕业设计之Python+Spark+Scrapy新闻推荐系统 新闻大数据 新闻情感分析 新闻文本分类 新闻数据分析 新闻爬虫可视化 大数据毕业设计

    开发技术 Hadoop.Spark.SparkSQL.Python.Scrapy爬虫框架.MySQL.协同过滤算法(双算法,基于用户.基于物品全实现).阿里云短信.百度AI人工智能识别.支付宝沙箱支付 ...

  7. 探索 Python、机器学习和 NLTK 库 开发一个应用程序,使用 Python、NLTK 和机器学习对 RSS 提要进行分类

    挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统.目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域 ...

  8. 毕业设计 - 银行柜员业务绩效考核系统的设计与实现【源码+论文】

    文章目录 前言 一.项目设计 1. 模块设计 系统功能模块: 2. 实现效果 二.部分源码 项目源码 前言 今天学长向大家分享一个 web项目: 银行柜员业务绩效考核系统的设计与实现 一.项目设计 1 ...

  9. 蓝桥杯之单片机设计与开发——第八届省赛_基于单片机的电子钟程序设计与调试

    目前在准备蓝桥杯,自己写了往届的赛题,调试以后觉得没什么问题.希望大家能给出一些建议,指出其中的错误和不足,也真挚地希望能给大家提供一些方法和思路.共勉! 赛题 main.c #include < ...

最新文章

  1. JS 获取每月有几周(每周五到周四算作一周)
  2. 解决原子性问题?你首先需要的是宏观理解
  3. tomcat命令linux,Linux下一些操作Tomcat的命令
  4. 网上流行的经典马屁回帖
  5. office 2010 projectn visio 下载
  6. 2021-05-23 自学Java第三天 唉 怎么感觉自制力不是很强啊 感觉有些慢了 慢慢来吧
  7. 程序员的“九阳神功”——设计模式
  8. 帧内预测-函数initAdiPattern
  9. Linux 下安装java环境
  10. java 后台打开新页面_Java后台打开浏览器窗口
  11. 在PHP中怎么解决大量数据处理的问题
  12. 数字分割(拆数字)的两种方法
  13. 《跟着咩总啃CS:APP》——第0章
  14. 光学镜头分类及相机接口(附镜头规格书)
  15. MTK 充电逻辑总结
  16. 【CubeMX配置stm32定时器中断】
  17. π142E60 Pai142E60 5.0kVrms 200Mbps 四通道数字隔离器芯片完美代替NSi8142W0
  18. 工作绩效数据、工作绩效报告和工作绩效信息的区别
  19. 微信大更新:最全最靠谱的微信说明书
  20. SCU 4438 字符串哈希

热门文章

  1. 阿里巴巴已offer:Java实习五面详细面经(附解答)
  2. JavaScript 实现tab介绍
  3. 【文心一言】内测版V1.0.3 沉浸式深度体验(2),有一丝失望,但也有惊喜。不知,你的感觉如何?
  4. 软件定义汽车下,大众“笨重”转型
  5. WSL 2.0+LAMP+WordPress 安装配置
  6. Java笔试面试-抽象类与接口
  7. 乳腺增生中度严重吗 中度乳腺增生结节怎么治疗
  8. Android密码字符为真,Android仿支付宝密码输入框与数字键盘
  9. 独享与共享带宽有哪些区别?如何选择?
  10. 最最简单区别iPhone是港版还是国行