zoukankan      html  css  js  c++  java
  • 基于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大师代发,拒绝转载,转载需要作者授权

  • 相关阅读:
    bzoj1009
    bzoj1576 3694
    bzoj3143
    bzoj1391
    bzoj2729
    bzoj2653
    bzoj3261
    bzoj2326
    人件
    优秀的产品
  • 原文地址:https://www.cnblogs.com/demodashi/p/10474093.html
Copyright © 2011-2022 走看看