Skip to content
基于 Python 3.6 和 django 2.2 的个人博客。https://www.zmrenwu.com/
Python HTML JavaScript CSS Vue Dockerfile Shell
Branch: master
Clone or download
zmrenwu 测试博客首页视图
- 重构 IndexView 的 get_queryset 方法
Latest commit ace7e80 Oct 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
blogproject 测试博客首页视图 Oct 15, 2019
compose first commit~~ Sep 18, 2019
config
frontend 支持更多的 Markdown 拓展 Sep 23, 2019
.dockerignore first commit~~ Sep 18, 2019
.flake8 first commit~~ Sep 18, 2019
.gitignore 支持通过环境变量设置 ALLOWED_HOSTS Sep 19, 2019
.isort.cfg first commit~~ Sep 18, 2019
.travis.yml first commit~~ Sep 18, 2019
Pipfile 开启 pytest 测试框架 Sep 24, 2019
Pipfile.lock 开启 pytest 测试框架 Sep 24, 2019
README.md 支持通过环境变量设置 ALLOWED_HOSTS Sep 19, 2019
fabfile.py first commit~~ Sep 18, 2019
local.yml first commit~~ Sep 18, 2019
manage.py first commit~~ Sep 18, 2019
production.yml first commit~~ Sep 18, 2019
pytest.ini 测试博客首页视图 Oct 15, 2019

README.md

Django blog project

基于 Python 3.6 和 django 2.2 的个人博客。

特性一览

  • 简约优雅的 UI,移动端优先的响应式设计。
  • Webpack 前端资源打包。
  • 基于 Vue 的多级评论系统。
  • 文章、评论内容支持 Markdown 与代码高亮。
  • 支持 GitHub、新浪微博社交账户登录。
  • 中文全文搜索,关键词高亮。
  • 完善的通知系统,评论、回复博客内通知,同时邮件提醒。
  • 独有的教程系统,方便地管理系列文章。
  • Docker 部署,无痛上线。

部署上线

  1. 安装 Docker 和 Docker Compose。

  2. 克隆代码到线上服务器

    $ git clone https://github.com/zmrenwu/django-blog-project
  3. 创建项目所需的环境变量文件,在项目根目录创建名为 .envs 的文件夹,并在 .envs 下创建 .production 文件,写入如下内容

    SECRET_KEY=your-own-secret-key
    DJANGO_SETTINGS_MODULE=config.settings.production
    DJANGO_SENDGRID_API_KEY=your-own-sendgrid-api-key
    # 设置允许访问的 HOSTS,逗号分隔
    DJANGO_ALLOWED_HOSTS=your-domain.com,www.yourdomain.com
    

    SECRET_KEY:项目密钥,推荐使用 Django Secret Key Generator 自动生成。

    DJANGO_SENDGRID_API_KEYSendGrid 邮件发送密钥,配置后才能发送邮件提醒。

  4. 复制 compose/production/nginx/conf.d/blogproject.conf-tmpl 到同级目录(即 conf.d 下),重命名为 blogproject.conf,将 blogproject.conf 中的 xxx.com 替换为你自己的域名。

  5. 进入项目根目录,启动 Docker 容器

    $ docker-compose -f production.yml up --build -d
  6. 开启 HTTPS

    $ docker exec -it blogproject_nginx certbot --nginx -n --agree-tos --redirect --email your-email@example.com -d your-domain.com,www.your-domain.com

    解释下关键参数的含义:

    --redirect:自动将所有 HTTP 请求重定向为 HTTPS 请求。

    --email:你的 email,用于接收 letsencrypt 的消息提醒。

    -d:后跟需要配置 HTTPS 证书的域名列表,以逗号分隔。

  7. 创建后台管理员账户

    $ docker exec -it blogproject python manage.py createsuperuser
  8. Over~~

本地运行

  1. 安装 Docker 和 Docker Compose。

  2. 克隆代码到本地

    $ git clone https://github.com/zmrenwu/django-blog-project
  3. 进入项目根目录,启动 Docker 容器

    $ docker-compose -f local.yml up --build
  4. 进入 frontend 目录,启动静态文件服务器

    $ npm install
    $ npm run dev
  5. Over~~

新功能开发路线图

详见:django-blog-project 版本规划与新功能开发路线图

版本迭代历史

详见:django-blog-project 版本迭代历史记录

You can’t perform that action at this time.