• 这里记录一些 Django 搭建博客遇到的一些问题
  • 参考书籍为 Django by Example, 这里记录与书籍内容不包含的内容.
  • 搭建环境: 阿里云 ECS + CentOS7
  • 一开始搭建的时候使用 python2.7 搭建, 在发表中文博客时, 出现不能识别中文标题的问题, 所以换成 python3
  • 使用 python3 遇到的第一个问题是不支持 supervisor, 可以参考官方网站使用 uWSGI 和 nginx 实现网站的访问(http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html)
  • 在书中, 根据标题自动生成 slug, 但无法从中文生成 slug, 所以我们需要从中文标题生成 slug, 解决步骤如下
    • pip install django-uuslug
    • 修改你的 Post save 方法的默认实现, 这样文章保存时就会自动填充 slug
      from django.core.urlresolvers import reverse
      from uuslug import slugify class Post(models.Model):
      ...
      def save(self, *args, **kwargs):
      self.slug = slugify(self.title)
      super(Post, self).save(*args, **kwargs)
  • 隐藏发表文章时的 slug 填充
    • 禁止 slug 出现在发表博客的页面上

      class Post(models.Model):
      ...
      slug = models.SlugField(editable=False)
  • 本书博客例子遇到的另一个问题就是 Post 过滤时, 无法通过发表日期的月份过滤, 即 Post.objects.filter(publish_year=2017) 可以返回你2017年的所有文章, 但 Post.objects.filter(publish_month=10) 却无法返回你发表在10月份的文章, 这里需要修改你网站的 settings.py 文件, 设置
    USE_TZ = False
    

Django搭建博客记(一)的更多相关文章

  1. Django 搭建博客记(二)

    当前博客实现的功能 实现 Markdown 语法功能 python 安装 markdown 模块 添加 markdown 过滤 实现代码高亮 通过 CSS 样本实现 分页功能 简单的关于页面和标签分类 ...

  2. Django搭建博客网站(四)

    Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...

  3. Django搭建博客网站(三)

    Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...

  4. Django搭建博客网站(二)

    Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/mode ...

  5. 使用django搭建博客并部署

    2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...

  6. Django搭建博客网站(一)

    Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...

  7. Django搭建博客后台

    转载自:http://sanwen8.cn/p/1cboypN.html 首先创建项目和blog应用: 在cmd命令行下,输入: django-admin.py startproject myblog ...

  8. Django搭建博客文章---模型层

    页面展示所需字段 1.文章标题---文本类型 2.文章摘要---文本类型 3.文章内容--文本类型 4.唯一的ID标记---int数字类型(自增.主键) 5.发布日期--日期类型 模型层定义字段 1. ...

  9. django搭建博客

    https://andrew-liu.gitbooks.io/django-blog/content/index.html

随机推荐

  1. atom使用技巧

    文本 批量处理 正则 空格换成换行:Atom替换换行符直接[Ctrl]+[F],然后选择正则,输入\n

  2. es6数组的扩展

    数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...

  3. 基于IPv6的数据包抓包分析(GNS3)

    一.实验拓扑 二.路由配置 路由R1.R2.R3.R4.R5详细配置: 1.配置R1: R1(config)#interface fastEthernet 0/1 R1(config-if)#ipv6 ...

  4. OO_多线程电梯_单元总结

    概述: 面向对象的第二单元是多线程电梯.第一次实现一部傻瓜电梯,每次只送一个人:第二次实现一部可稍带电梯:第三次实现三部可稍带电梯. 一.设计策略 1.第5.6次作业设计思路 第5.6次作业的架构相似 ...

  5. SpringCloud微服务负载均衡与网关

    1.使用ribbon实现负载均衡ribbon是一个负载均衡客户端 类似nginx反向代理,可以很好的控制htt和tcp的一些行为.Feign默认集成了ribbon. 启动两个会员服务工程,端口号分别为 ...

  6. Linux静态设置CentOS 7虚拟机的IP

    进入root ,输入命令:# vi /etc/sysconfig/network-scripts/ifcfg-ens33 .将DHCP协议获取IP,改为static静态,加上想要设置的IPADDR即可 ...

  7. java redispool测试类保存

    这两天睡眠不足,今晚吃完饭,肚子烦躁的很,迟迟进入不了代码的状态,强打精神,又赶上处理了几个编辑器的报错,等到真正面对问题的时候又是晚上十一点, 晚上十一点是幸运点,到这个点无关问题都能解决完毕进入调 ...

  8. 7I - 数塔

    在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...

  9. A Model of Saliency-Based Visual Attention for Rapid Scene Analysis

    A Model of Saliency-Based Visual Attention for Rapid Scene Analysis 题目:A Model of Saliency-Based Vis ...

  10. Mac/Linux/Centos终端中上传文件到Linux云服务器

      1.mac上传文件到Linux服务器  scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...