让我们在文本区域添加 Markdown 支持来改善用户体验。你会看到要实现这个功能非常简单。 首先,我们安装一个名为 Python-Markdown 的库: 我们可以在 Po...
我觉得只添加内置的人性化(humanize)包就会很不错。它包含一组为数据添加“人性化(human touch)”的工具集。 例如,我们可以使用它来更自然地显示日期和时间字段...
这部分将是我们最后的一个视图。之后,我们将专心来改进现有功能。 accounts/views.py myproject/urls.py templates/my_accoun...
我们可以非常容易地使用 CBV 来实现分页功能。但首先我想手工分页,这样就更有助于我们理解背后的机制,这样它就不那么神秘了。 实际上对 boards 列表视图分页并没有意义,...
视图策略 到头来,所有的Django视图其实都是函数。即便是CBV。在类的底层,它完成了所有的功能并最终返回一个视图函数。 引入了基于类的视图,使开发人员可以更轻松地重新使用...
迁移(Migration)是Django做Web开发的基本组成部分,它使得我们在演进应用的models时,它能使得models文件与数据库保持同步 当我们第一次运行命令 py...
现在我们花点时间来探索关于模型的 API。首先,我们来改进主页: 有3个任务: 显示每个板块的总主题数 显示每个板块的总回复数 显示每个板块的最后发布者和日期 在实现这些功能...
现在让我们来实现回复帖子的功能,以便我们可以添加更多的数据和改进功能实现与单元测试。 添加新的URL路由: myproject/urls.py 给回帖创建一个新的表单: bo...
现在我么可以改进 new_topic 视图,将发布主题的用户设置当前登录的用户,取代之前直接从数据库查询出来的第一个用户,之前这份代码是临时的,因为那时候还没有方法去获取登录...
保护视图 我们必须保护视图防止那些未认证(登录)的用户访问,下面是发起一个新话题的页面 在上图中,用户还没有登录,尽管他们可以看到页面和表单。Django 有一个内置的 视图...
登录 首先,添加一个新的URL路径: myproject/urls.py 在as_view()中,我们可以传递一些额外的参数,以覆盖默认值。在这种情况下,我们让LoginVi...
注销 为了在实现过程保持完整自然流畅的功能,我们还添加注销视图,编辑urls.py以添加新的路由: myproject/urls.py 我们从Django的contrib模块...
前言 这一章节将会全面介绍 Django 的身份认证系统,我们将实现注册、登录、注销、密码重置和密码修改的整套流程。 同时你还会了解到如何保护某些试图以防未授权的用户访问,以...
Forms(表单) 用来处理我们的输入。这在任何 web 应用或者网站中都是很常见的任务。标准的做法是通过 HTML 表单实现,用户输入一些数据,将其提交给服务器,然后服务器...
到目前为止,我们一直在复制和粘贴 HTML 文档的多个部分。从长远来看是不可行的。这也是一个坏的做法。 在这一节我们将重写 HTML 模板,创建一个 master page(...
前言 在本节中,我们将深入理解两个基本概念: URLs 和 Forms。在这个过程中,我们还将学习其它很多概念,如创建可重用模板和安装第三方库。同时我们还将编写大量单元测试。...