基于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,自动压缩cssjs
  • 网站异常邮件提醒,若有未捕捉到的异常会自动发送提醒邮件。
  • 集成了微信公众号功能,现在可以使用微信公众号来管理你的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.pyhttps://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 配置中新增配置,填写对应的appkeyappsecret以及回调地址。

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大师代发,拒绝转载,转载需要作者授权

posted on 2019-03-04 23:23  demo例子集  阅读(1810)  评论(0编辑  收藏  举报

导航