个人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. Docker 概念详解
  2. 多线程共享内存的问题
  3. 互联网算法面试高频题目
  4. 推荐一个MDI模式的远程桌面管理程序
  5. ios 销毁当前页面重新开启_问:如何强制销毁iOS中的视图控制器?
  6. 用单片机测量流体流速的_影响超声波流量计(热量表)测量精度的主要因素
  7. Linux使用jstat命令查看jvm的GC情况
  8. Zabbix监控——proxy 分布式监控配置
  9. linuxC编程实战 my_server.c例子问题总结
  10. 计算机学院辩论队,计算机学院新生辩论赛圆满落幕
  11. You must install signalwire-client-c to build mod_signalwire
  12. 重启tomcat-Tomcat服务器怎么重启?
  13. 鸿蒙os2.0手机app开发,鸿蒙OS2.0手机开发者Beta版登场
  14. python中的复数虚部_python复数的虚部怎么表达
  15. pip升级scapy报错It is a distutils installed project and thus we cannot accurately determine which files
  16. pacman使用介绍
  17. NAA、Logistic-Fick混合模型、图像/文本处理在2021美赛c中的应用
  18. Proximal Policy Optimization Algorithms
  19. 30天自制操作系统——第八天鼠标控制与32位模式切换
  20. node.js代码总结

热门文章

  1. java激励_激励奋斗的名言
  2. 【0】Windows游戏安全之路——个人学习背景
  3. 批量修改文件夹中的名字/中文
  4. 亚马逊中国站获取商品库存信息
  5. python 遍历_Python遍历循环
  6. Excel批量删除文本右侧不等个空格的2种操作
  7. 武装突袭3服务器无响应,武装突袭3 DayZMOD无法运行的解决方法
  8. 重新梳理JScript基础知识之函数篇
  9. 程序员恋爱必备11要素
  10. java soap axis,使用SOAP开发java web服务 Axis开发方案