对于某一类网站, 管理界面 是基础设施中非常重要的一部分。这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。你可以用这个界面发布博客,后台的网 站管理者用它来润色读者提交的内容,你的客户用你给他们建立的界面工具更新新闻并发布在网站上,这些都是使用管理界面的例子。 但是管理界面有一问题:创建它太繁琐。当你开发对公众的功能时,网页开发是有趣的,但是创建管理界面通常是千篇一
在前一章中,你可能已经注意到我们在例子视图中返回文本的方式有点特别。也就是说,HTML被硬性地直接写入 Python 代码之中。 这种处理会导致一些问题: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改。站点设计的修改往往比底层 Python 代码的修改要频繁得多,因此如果可以在不进行 Python 代码修改的情况下变更设计,那将会方便得多。 Python 代码编写和 HTML
本书所讲的是 Django:一款能够节约你的时间并且让开发乐趣横生的 web 开发框架。使用 Django,花极少时间即可构建和维护质量上乘的 Web 应用。 从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用 Web 开发模式
我们最后一件关于我们的网站的事情就是创建一个漂亮的方式来增加和编辑博客文章。 Django的管理是很酷,但是它很难去自定义,变得更漂亮。 通过forms,我们可以拥有对我们界面绝对的权利—我们能够做几乎我们能想象到的所有事情! Django表单的一个好处就是我们既可以从零开始自定义,也可以创建ModelForm,它将表单的结果保存到模型里。 这正是我们想做的:我们将为我们自己的Post模型创建一个
是时候把数据展示出来了!Django提供了一个非常有用的内置来实现-—|-模板标签 什幺是模板标签呢? 正如你在前面章节中所了解的那样, 我们并不能将 Python 代码嵌入到HTML中。 因为浏览器不能识别 Python 代码, 它只能解析HTML。 我们知道,HTML是静态页面,而 Python 则显得更加动态。 Django模板标签允许我们将Python之类的内容翻译成HTML,所以你可以更
在这一章中,你将学习 Django 如何连接到数据库,并将数据存储在里面。一探究竟吧! QuerySet 是什幺呢? 从本质上说,QuerySet 是给定模型的对象列表(list)。QuerySet 允许您从数据库中读取数据,对其进行筛选以及排序。 用例子来学习最容易的了。让我们试试这个,好吗? Django shell 打开你本地的终端(不是在Python解析器里面) 然后输入这个命令: (my
是是候去解决我们在上一章所制造的Bug了:) view是存放应用逻辑的地方。 它将从你之前创建的 模型中获取数据,并将它传递给 模板。 我们将在下一章创建 tempalte 模板。 视图就是Python方法,只不过比我们在Python简介章节中所做的事情稍复杂。 视图都被置放在views.py文件中。我们将加入我们自己的views到blog/views.py文件。 blog/views.py 好,
我们将要建立第一个网页:你博客的主页!但是首先,让我们先学习一点 Django 的 url 知识。 什幺是 URL? 简单地说,URL 是一个网页地址。 每当你访问一个网站时,你都能在浏览器的地址栏里看到一个 URL。(是的! 127.0.0.1:8000 是一个URL! 同时 https://djangogirls.org 也是一个 URL): 每一个互联网的网页都需要自己的 URL。 这样当用
我们将使用 Django admin 添加,编辑和删除我们刚刚创建的帖子。 让我们打开blog/admin.py文件,并替换其中的文件像这样: from django.contrib import admin from .models import Post admin.site.register(Post) 如你所见,我们导入(包括)了前一章定义的Post模型。 为了让我们的模型在admin页面
我们现在将要创建的是一个能存储我们博客所有文章的东西。为了达到这个目的,我们将要讲解一下一个被称为objects(对象)的东西. 对象 在编程中有一个概念叫做 面向对象编程 。 它的思想是,与其用无聊的一连串的程序指令方式写程序,我们不如为事物建立模型,然后定义他们是怎样互相交互的。 那什幺是对象呢?它是一个属性和操作的集合。它听起来很奇怪,但我们会给你一个例子。 如果我们想塑造一只猫的模型,我们
本章的部分内容基于 Geek Girls Carrots (https://github.com/ggcarrots/django-carrots) 的教程。 本章的部分是基于知识共享署名-4.0 国际许可协议许可的 django marcador 教程。 Django marcador 教程的版权由Markus Zapke-Gründemann 持有。 我们将要创建一个简单的博客 ! 第一步是创
注意如果你已完成了安装步骤,可以直接进入下一章。 本节部分内容基于 Geek Girls Carrots (https://github.com/ggcarrots/django-carrots) 教程而来。 本章的部分内容基于 django-marcador 教程 ,使用知识共享署名-4.0 国际许可协议许可。 Django-marcador 教程的版权归 Markus Zapke-Gründe
Django (/ˈdʒæŋɡoʊ/jang-goh) 是用 Python 写的一个自由和开放源码 web 应用程序框架。 web框架是一套组件,能帮助你更快、更容易地开发web站点。 当你开始构建一个web站点时,你总需要一些相似的组件:处理用户认证(注册、登录、登出)的方式、一个管理站点的面板、表单、上传文件的方式,等等。 幸运的是,其他人很早就注意到web开发人员会面临一些共同的问题。所以他
由于 Django 系统的特殊性,很难在 Shell 中直接导入 Django 应用,而只能使用它自己提供的 shell 命令。不过,并不是说就没有办法使用增强的第三方 Shell 了,Django-Extensions 插件提供了切换默认 Shell 的能力。 Django Extensions Django-Extensions 是一个 Django 第三方插件集,其中囊括了很多实用的 Dja
Django 的启动互相之间的依赖严重,很多参数和依赖都需要在运行的时候导入,导致大部分文件都不能单独执行。 不过 Django 的社区非常活跃,对于知名的测试框架都有进行封装,如: django.test、django_nose 等等, 以配合自身的测试命令使用。 doctest 在 Flask 中测试一个文件的 doctest 只需要运行:python filename.py,然而这在 Dja