最新 热门 RSS订阅
注册
用户注册就是创建用户对象,将用户的个人信息保存到数据库里。回顾一下 Django 的 MVT 经典开发流程,对用户注册功能来说,首先创建用户模型(M),这一步我们已经完成了。编写注册视图函数(V),并将为视图函数绑定对应的 URL。编写注册模板(T),模板中提供一个注册表单给用户。Django 用户 ...
24877 57 Django用户认证系统
统计文章阅读量
如何精确地记录一篇文章的阅读量是一个比较复杂的问题,不过对于我们的博客来说,没有必要记录的那么精确。因此我们使用一种简单但有效的方式来记录博客文章的阅读量:文章每被浏览一次,则其阅读量 +1,即所谓的文章页面 PV(Page View)数。虽然简单粗暴,但却高效实用。 增加新字段 为了记录文章的浏览 ...
23081 15 Django博客教程
使用 Fabric 自动化部署
在 使用 Nginx 和 Gunicorn 部署 Django 博客 中,我们通过手工方式将代码部署到了服务器。整个过程涉及到十几条命令,输了 N 个字符。一旦我们本地的代码有更新,整个过程又得重复来一遍,这将变得非常繁琐。 使用 Fabric 可以在服务器中自动执行命令。因为整个代码部署过程都是相 ...
22361 63 Django博客教程
django 实现简单的搜索功能
搜索是一个复杂的功能,但对于一些简单的搜索任务,我们可以使用 django model 层提供的一些内置方法来完成。本文将结合 django 模型管理器的 filter 方法和 icontains 查询表达式来实现一个简单的搜索功能。 以博客为例,博客文章通常包含标题和正文两个部分。当用户输入某个关 ...
20786 7 Django博客教程拓展
已知小问题修正
在模型中指定排序 为了让文章(Post)按发布时间逆序排列,即最新发表的文章排在文章列表的最前面,我们对返回的文章列表进行了排序,即各个视图函数中都有类似于 Post.objects.all().order_by('-created_time') 这样的代码,这导致了很多重复。因为只要是返回的文章列 ...
20065 31 Django博客教程
简单全文搜索
搜索是一个复杂的功能,但对于一些简单的搜索任务,我们可以使用 Django Model 层提供的一些内置方法来完成。现在我们来为我们的博客提供一个简单的搜索功能。 概述 博客文章通常包含标题和正文两个部分。当用户输入某个关键词进行搜索后,我们希望为用户显示标题和正文中含有被搜索关键词的全部文章。整个 ...
18219 25 Django博客教程
Django Pagination 简单分页
当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。Django 内置的 Pagination 能够帮助我们实现简单的分页功能。 Paginator 类的常用方法 分页功能由 Django 内置的 Paginator 类提供。这个类位于 django/c ...
17994 16 Django博客教程
Markdown 自动生成文章目录
我们的之前在博客中使用了 Markdown 来为文章提供排版支持。Markdown 在渲染内容的同时还可以自动提取整个内容的目录结构,现在我们来使用 Markdown 为文章自动生成目录。 在文中插入目录 先来回顾一下博客的 Post(文章)模型,其中 body 是我们存储 Markdown 文本的 ...
17655 31 Django博客教程
自定义认证后台
Django auth 应用默认支持用户名(username)进行登录。但是在实践中,网站可能还需要邮箱、手机号、身份证号等进行登录,这就需要我们自己写一个认证后台,用于验证用户输入的用户信息是否正确,从而对拥有正确凭据的用户进行登录认证。 Django 验证用户合法性的方式 Django 对用户登 ...
17105 42 Django用户认证系统
Django Pagination 完善分页
在 Django Pagination 简单分页 中,我们实现了一个简单的分页导航效果。但效果有点差强人意,我们只能点上一页和下一页的按钮进行翻页。比较完善的分页效果应该像下面这样,但想实现这样一种效果,Django Pagination 内置的 API 已无能为力。本文将通过拓展 Django P ...
16537 83 Django博客教程