Django REST framework介绍 现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势. 显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员,我十分推荐Django REST framework(DRF)这个API框架.   Django REST framework(DRF)框架文档齐全,社区较稳定,而且由于它是基于Django这个十分全面的框架而设计开发的,能够让开发者根据自己的业务需要,使用极…
在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以通过运行以下命令来查看Django版本以及验证是否安装: python -m django --version 如果安装了Django,您应该将看到安装的版本.如果没有安装,你会得到一个错误,提示No module named django. 本教程是为Django 1.10和Python 3.4或…
本教程继续Part1.我们将设置数据库,创建您的第一个模型,并快速介绍Django的自动生成的管理网站. 数据库设置 现在,编辑mysite/settings.py.它是一个用模块级别变量表示Django配置的普通Python模块. Django的默认数据库是SQLite.如果你是数据库初学者,或者你只是想要试用一下Django,SQLite是最简单的选择. SQLite包含在Python中,所以你不需要另外安装其他任何东西.当然在你开始第一个真正的项目时,你可能想使用一个更健壮的数据库比如Po…
Django 1.10中文文档: https://github.com/jhao104/django-chinese-doc 只要创建好 数据模型, Django 会自动为生成一套数据库抽象的API, 可以让你创建.检索.更新和删除对象.这篇文档阐述如何使用这些API. 关于模型查询所有选项的完整细节,请见 数据模型参考 . 在整个文档(以及参考)中,都将引用下面的模型,它是一个博客应用: from django.db import models class Blog(models.Model)…
Django 数据库抽象API 描述了使用Django 查询来增删查改单个对象的方法. 然而,有时候你要获取的值需要根据一组对象聚合后才能得到. 这个主题指南描述了如何使用Django的查询来生成和返回聚合值的方法. 整篇指南我们都将引用以下模型.这些模型用来记录多个网上书店的库存. from django.db import models class Author(models.Model): name = models.CharField(max_length=100) age = mode…
开发第一个Django应用,Part7 本教程上接Part6.将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站. 自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认的表单.如果您需要自定义管理表单的外观和功能.你可以在注册时通过配置来实现. 现在先来试试重新排序表单上的字段.只需要将admin.site.register(Question)所在行替换为: # polls/admin.…
本教程上接Part5 .前面已经建立一个网页投票应用并且测试通过,现在主要讲述如何添加样式表和图片. 除由服务器生成的HTML文件外,网页应用一般还需要提供其它必要的文件——比如图片.JavaScript脚本和CSS样式表.这样才能为用户呈现出一个完整的网站. 在Django中,这些文件统称为“静态文件”. 如果是在小型项目中,这只是个小问题,因为你可以将它们放在网页服务器可以访问到的地方. 但是呢,在大一点的项目中——尤其是由多个应用组成的项目,处理每个应用提供的多个静态文件集合还是比较麻烦的…
本教程上接教程Part4. 前面已经建立一个网页投票应用,现在将为它创建一些自动化测试. 自动化测试简介 什么是自动化测试 测试是检查你的代码是否正常运行的行为.测试也分为不同的级别.有些测试可能是用于某个细节操作(比如特定的模型方法是否返回预期的值),而有些测试是检查软件的整体操作(比如站点上的一系列用户输入是否产生所需的结果).这和Part2中的测试是一样的,使用shell来检查方法的行为,或者运行应用程序并输入数据来检查它的行为. 自动化测试的不同之处就在于这些测试会由系统来帮你完成.你只…
本教程接Part3开始.继续网页投票应用程序,并将重点介绍简单的表单处理和精简代码. 一个简单表单 更新一下在上一个教程中编写的投票详细页面的模板polls/detail.html,让它包含一个HTML<form> 元素: # polls/templates/polls/detail.html <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ err…
本教程上接Django 1.10中文文档-第一个应用Part2-模型和管理站点.我们将继续开发网页投票这个应用,主要讲如何创建一个对用户开放的界面. 概览 视图是Django应用中的一“类”网页,它通常使用一个特定的函数提供服务,并且具有一个特定的模板.例如,在博客应用中,可能有以下视图: 博客首页 —— 显示最新发表的博客: 博客“详细”页面 —— 每博客的链接页面: 基于年份的归档页面 —— 显示特定年内所有月份发表过的博客: 基于月份的归档页面 —— 显示特定月份内每天发表过博客: 基于日…