• 这里记录一些 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. Ireport启动错误

    问题描述:cannot find java.exe Neither (null)\jre\bin\java.exe nor (null)\bin\java.exe exits 解决办法: 打开Irep ...

  2. MoneyRunner API汇总

    MonkeyRunner API 汇总 MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 1.MonkeyRunner类: Mon ...

  3. C# 小数点后保留两位小数,四舍五入的函数及使用方法

    1 Math.Round(45.367,2) //Returns 45.37 2 Math.Round(45.365,2) //Returns 45.36 C#中的Round()不是我们中国人理解的四 ...

  4. Web自动化附件上传

    在进行web界面自动化编写时,可以根据定位元素的方式进行编写,但是如果某一个功能涉及到有附件上传功能,那么该如何解决呢? 继续往下看>>>>> 场景:登录系统后,进行新增 ...

  5. python基础 ---time,datetime,collections)--时间模块&collections 模块

    python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...

  6. Linux下docker报错syntax error:unexpected protocol at end of statement

    ---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...

  7. matplotlib 初次编译无法运行

    终端 解决方案:vim ~/.matplotlib/matplotlibrc 输入backend: TkAgg 保存

  8. shell 到达一定数量文件自动删除最久时间文件

    #!/bin/bash#rm_file>14day ReservedNum=4                      #保留文件数量rm_file_dir='/home/sean/sean/ ...

  9. 人力资源项目中 add_account.php

    add_account.php ( 文件浏览 ) <?phpinclude('db_con.php');   if(isset($_POST['save'])) {    $employee_i ...

  10. Java:Copy-On-Write容器

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...