基于Django的博客系统
代码地址如下:
http://www.demodashi.com/demo/14445.html
基于django的博客系统,
界面展示
首页前端界面如下:
文章页面:
后台页面:
文章页面:
##项目结构图
代码主要文件结构如下:
分别介绍下各个目录:
- accounts: 用户模块
- blog:博客模块
- comments: 评论模块
- oauth: 第三方登录模块
- owntracks: owntracks位置追踪模块
- servermanager: 服务管理模块
- templates: 页面文件
主要功能:
- 文章,页面,分类目录,标签的添加,删除,编辑等。文章及页面支持
Markdown
,支持代码高亮。 - 支持文章全文搜索。
- 完整的评论功能,包括发表回复评论,以及评论的邮件提醒,支持
Markdown
。 - 侧边栏功能,最新文章,最多阅读,标签云等。
- 支持Oauth登陆,现已有Google,GitHub,facebook,微博,QQ登录。
- 支持
Memcache
缓存,支持缓存自动刷新。 - 简单的SEO功能,新建文章等会自动通知Google和百度。
- 集成了简单的图床功能。
- 集成
django-compressor
,自动压缩css
,js
。 - 网站异常邮件提醒,若有未捕捉到的异常会自动发送提醒邮件。
- 集成了微信公众号功能,现在可以使用微信公众号来管理你的vps了。
安装
使用pip安装:
pip install -Ur requirements.txt
如果你没有pip,使用如下方式安装:
OS X / Linux 电脑,终端下执行:
curl http://peak.telecommunity.com/dist/ez_setup.py | python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
windows电脑:
下载 http://peak.telecommunity.com/dist/ez_setup.py 和 https://raw.github.com/pypa/pip/master/contrib/get-pip.py 这两个文件,双击运行。
初始化运行
修改DjangoBlog/setting.py
修改数据库配置,如下所示:
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'djangoblog','USER': 'root','PASSWORD': 'password','HOST': 'host','PORT': 3306,}
}
创建数据库
mysql数据库中执行:
CREATE DATABASE `djangoblog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
然后终端下执行:
./manage.py makemigrations
./manage.py migrate
创建超级用户
终端下执行:
./manage.py createsuperuser
创建测试数据
终端下执行:
./manage.py create_testdata
收集静态文件
终端下执行:
./manage.py collectstatic --noinput
./manage.py compress --force
开始运行:
执行:
./manage.py runserver
浏览器打开: http://127.0.0.1:8000/ 就可以看到效果了。
主要功能配置介绍:
缓存:
缓存默认使用memcache
缓存,如果你没有memcache
环境,则将settings.py
中的locmemcache
改为default
,并删除默认的default
配置即可。
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache','LOCATION': '127.0.0.1:11211','KEY_PREFIX': 'django_test' if TESTING else 'djangoblog','TIMEOUT': 60 * 60 * 10},'locmemcache': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache','TIMEOUT': 10800,'LOCATION': 'unique-snowflake',}
}
oauth登录:
现在已经支持微博,Google,GitHub,Facebook登录,需要在其对应的开放平台申请oauth登录权限,然后在
后台->Oauth 配置中新增配置,填写对应的appkey
和appsecret
以及回调地址。
owntracks:
owntracks是一个位置追踪软件,可以定时的将你的坐标提交到你的服务器上,现在简单的支持owntracks功能,需要安装owntracks的app,然后将api地址设置为:
你的域名/owntracks/logtracks
就可以了。然后访问你的域名/owntracks/show_dates
就可以看到有经纬度记录的日期,点击之后就可以看到运动轨迹了。地图是使用高德地图绘制。
邮件功能:
同样,将settings.py
中的ADMINS = [('liangliang', 'liangliangyy@gmail.com')]
配置为你自己的错误接收邮箱,另外修改:
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER')
为你自己的邮箱配置。
微信公众号
集成了简单的微信公众号功能,在微信后台将token地址设置为:你的域名/robot
即可,默认token为lylinux
,当然你可以修改为你自己的,在servermanager/robot.py
中。
然后在后台->Servermanager->命令中新增命令,这样就可以使用微信公众号来管理了。
网站配置介绍
在后台->BLOG->网站配置中,可以新增网站配置,比如关键字,描述等,以及谷歌广告,网站统计代码及备案号等等。
其中的静态文件保存地址是保存oauth用户登录的头像路径,填写绝对路径,默认是代码目录。
代码高亮
如果你发现你文章的代码没有高亮,请这样书写代码块:
也就是说,需要在代码块开始位置加入这段代码对应的语言。
##其他补充
django (Python Web 框架)说明
代码地址如下:
http://www.demodashi.com/demo/14445.html
注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
基于Django的博客系统相关推荐
- 【基于python+Django的博客系统-哔哩哔哩】 https://b23.tv/bmRfAMu
[基于python+Django的博客系统-哔哩哔哩] https://b23.tv/bmRfAMu https://b23.tv/bmRfAMu
- 基于Django的博客兼学术主页管理网站
基于Django的博客兼学术主页管理网站 摘要: 本系统基于后端Django框架和前端HTML页面,使用MVT设计模式构建了博客兼学术主页管理网站.该网站具有编写博客.阅读博客.点赞评论其他人博客的博 ...
- 基于Django的博客BBS项目
基于Django的博客BBS项目 项目流程内容概要 第一部分 第二部分 第三部分 第四部分 项目具体流程 1.数据库表创建及同步 1.1创建项目 1.2创建数据库 1.3修改配置文件与__init__ ...
- 基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- python Django个人博客系统-源码下载
python Django个人博客系统1 PythonDjango博客系统 后端:python3 django 数据库:MySQL 前端:html css js 主要功能: 登录.注册.搜索.后台管理 ...
- java毕业设计基于网络平台个人博客系统Mybatis+系统+数据库+调试部署
java毕业设计基于网络平台个人博客系统Mybatis+系统+数据库+调试部署 java毕业设计基于网络平台个人博客系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开 ...
- 基于python的博客设计与开发_GitHub - juanshifanhua/bbs: 毕业设计:基于Python的博客系统的设计与实现...
个人Blog博客系统 基于"python3.6.5"和"Django2.1"开发的的个人博客系统. 层级结构 cd bbs; tree . ├── bbs │ ...
- Django之博客系统搭建一
前面已经介绍了django的各种用法,从这一章开始,将实际搭建一个blog系统. 首先我们需要设计blog的模型,在models.py中添加如下内容 # -*- coding: utf-8 -*- f ...
- Python django 个人博客系统源码
Python django 个人博客 后端:python + django 数据库:MySQL.redis缓存 前端:bootstrap.HTML css js 该系统涉及功能: 1.登录.登出.注册 ...
最新文章
- [Android Pro] linux下查看一个文件的属性(ls,lsattr,file,stat)
- 倒排索引PForDelta压缩算法——基本假设和霍夫曼压缩同
- python培训Day1 随笔
- countdownlatch的使用详解(好懂!!)
- 【C++快速入门】基础语法篇
- Java 为图形填充渐变色
- 病毒分析之伪装360主动防御病毒分析_XiaoBa-20
- java ntp授时服务器,时间同步服务器NTP
- 51单片机循迹小车工作原理与程序设计思路
- 自主招生计算机网测,自主招生考试中,笔试和机试有什么区别?
- python snownlp_SnowNLP情感分析+生成词云
- c语言课后编程题第八章答案,C语言课后编程题答案.doc
- PHP服装网店管理系统
- Qt QAbstractSocket::isValid()
- 对51job网页招聘信息的简单爬取
- 饮料如何畅销市场?看农夫山泉如何玩转营销
- 搜索已配对蓝牙 java,java-查找和配对蓝牙设备
- 友盟 点完登陆后无反应_免登陆、免安装、不限速,打开网页直接下载百度云!...
- 爬虫实战篇--更换代理ip
- PostMan工具介绍及安装使用
热门文章
- 数据结构与算法分析(二)——C++实现链表
- 集群的可扩展性及其分布式体系结构(1)
- 高性能HTTP加速器Varnish(管理维护篇)
- 当集合a为空集时a的取值范围_1.2 集合间的基本关系20202021学年高一数学新教材配套学案(人教A版必修第一册)...
- 列表ls按照升序排列的python内置函数是_Python习题集
- java博弈,人机博弈小游戏(Java)
- 《深入理解 Spring Cloud 与微服务构建》第十章 路由网关 Spring Cloud Zuul
- C语言程序设计第二次作业1
- 零基础学python-5.6 数字位操作与其它工具
- linux 查看是否安装perl模块