Django搭建博客记(一)
- 这里记录一些 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)
- 禁止 slug 出现在发表博客的页面上
- 本书博客例子遇到的另一个问题就是 Post 过滤时, 无法通过发表日期的月份过滤, 即 Post.objects.filter(publish_year=2017) 可以返回你2017年的所有文章, 但 Post.objects.filter(publish_month=10) 却无法返回你发表在10月份的文章, 这里需要修改你网站的 settings.py 文件, 设置
USE_TZ = False
Django搭建博客记(一)的更多相关文章
- Django 搭建博客记(二)
当前博客实现的功能 实现 Markdown 语法功能 python 安装 markdown 模块 添加 markdown 过滤 实现代码高亮 通过 CSS 样本实现 分页功能 简单的关于页面和标签分类 ...
- Django搭建博客网站(四)
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...
- Django搭建博客网站(三)
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...
- Django搭建博客网站(二)
Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/mode ...
- 使用django搭建博客并部署
2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...
- Django搭建博客网站(一)
Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...
- Django搭建博客后台
转载自:http://sanwen8.cn/p/1cboypN.html 首先创建项目和blog应用: 在cmd命令行下,输入: django-admin.py startproject myblog ...
- Django搭建博客文章---模型层
页面展示所需字段 1.文章标题---文本类型 2.文章摘要---文本类型 3.文章内容--文本类型 4.唯一的ID标记---int数字类型(自增.主键) 5.发布日期--日期类型 模型层定义字段 1. ...
- django搭建博客
https://andrew-liu.gitbooks.io/django-blog/content/index.html
随机推荐
- Ireport启动错误
问题描述:cannot find java.exe Neither (null)\jre\bin\java.exe nor (null)\bin\java.exe exits 解决办法: 打开Irep ...
- MoneyRunner API汇总
MonkeyRunner API 汇总 MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 1.MonkeyRunner类: Mon ...
- C# 小数点后保留两位小数,四舍五入的函数及使用方法
1 Math.Round(45.367,2) //Returns 45.37 2 Math.Round(45.365,2) //Returns 45.36 C#中的Round()不是我们中国人理解的四 ...
- Web自动化附件上传
在进行web界面自动化编写时,可以根据定位元素的方式进行编写,但是如果某一个功能涉及到有附件上传功能,那么该如何解决呢? 继续往下看>>>>> 场景:登录系统后,进行新增 ...
- python基础 ---time,datetime,collections)--时间模块&collections 模块
python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...
- Linux下docker报错syntax error:unexpected protocol at end of statement
---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...
- matplotlib 初次编译无法运行
终端 解决方案:vim ~/.matplotlib/matplotlibrc 输入backend: TkAgg 保存
- shell 到达一定数量文件自动删除最久时间文件
#!/bin/bash#rm_file>14day ReservedNum=4 #保留文件数量rm_file_dir='/home/sean/sean/ ...
- 人力资源项目中 add_account.php
add_account.php ( 文件浏览 ) <?phpinclude('db_con.php'); if(isset($_POST['save'])) { $employee_i ...
- Java:Copy-On-Write容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...