官方原文: https://docs.djangoproject.com/en/2.0/
当前翻译版本: v2.0
Python版本要求: v3.4+
(译者注:本人目前在南京一家互联网公司工作,职位是测试开发工程师。因为测试工作中经常会用到编码语言,如Python、Java、Shell等,所以几年前萌生了对Python语法的学习。Django作为Python Web开发的佼佼者,市面上也有很多关于Django技术的书籍,但却没有官方的文档翻译,本人也是怀揣着学习加巩固的想法,一来提高自己的编码能力,二来提供网友一个学习的平台,若遇到翻译不对的地方,希望大家评论区及时指正,谢谢 O(∩_∩)O )
摘要 | 动作 | 日期 |
---|---|---|
完成部分总索引翻译 | 新增 | 2017年12月4日 |
完成全部总索引翻译 | 更新 | 2018年1月6日 |
完成Model-Field types翻译 | 更新 | 2018年5月20日 |
Django 手册
在这里,您将了解到Django的一切。
该文档是如何组织学习教程的?
Django有很多的文档,高水平要求的组织概述将帮助您在哪里找到自己需要的知识。
- 教程-Tutorials将通过一系列的操作步骤来帮助你创建Web应用程序,如果您是Django或Web应用开发新手,可以从 第一步 开启学习之旅。
- 主题指南-Topic guides将在相当高的层次上讨论关键性的主题及概念,并提供非常有用的解释信息及概念描述。
- 参考指南-Reference guides将包含API的接口参考及Django的其他内部实现内容,它们描述了Django是如何运行的、我们应该如何使用它们,让我们对Django关键的概念有初步的了解。
- How-to指南-How-to guides 他们将会指导您完成涉及关键问题和用例的步骤,它们比教程-Tutorials
更先进,并说明Django是如何工作的。
第一步
您是Django或编码的新手?没关系,这会是您启程的地方。
- 从头开始: 概述(100%) | 安装
- 教程: 第1部分: 请求及响应-Requests and responses | 第2部分: 模型及管理页面-Models and the admin site | 第3部分: 视图及模板-Views and templates | 第4部分: 表单及通用视图-Forms and generic views | 第5部分: 测试-Testing | 第6部分: 静态文件-Static files | 第7部分: 自定义管理页面-Customizing the admin site
- 高级教程: 如何编写可重用的app | 为Django写你的第一个补丁
模型层-Model
Django提供了一个抽象层(“模型”)来构建和处理Web应用程序的数据,详细了解如下:
- Model: Model的介绍 | Field的类型(50%) | Indexes | 元选项-Meta | Model类
- 查询集-QuerySets: 构建查询 | QuerySet方法参考 | Lookup参考
- 模型实例-Model instances: 实例方法-Instance methods | 相关对象参考-Accessing related objects
- 迁移-Migrations: 迁移的介绍 | 迁移操作参考 | 架构编辑器-SchemaEditor | 编写迁移
- 高级-Advanced: 数据库查询接口-Managers | 原生SQL-Raw SQL | 数据库事务-Transactions | 聚合-Aggregation
- 其他-Other: 支持的数据库 | 遗留的数据库 | 提供初始数据 | 优化数据库访问 | PostgreSQL的特定功能
视图层-View
Django具有“视图”的概念,它用来封装负责处理用户请求和返回响应的逻辑。 通过以下链接查找所有您需要了解的视图:
- 基础-The basics: URL配置-URLconfs | 视图函数 | 快捷函数-Shortcuts | 装饰器
- 参考-Reference: 内建视图 | 请求Request/返回Response对象 | 模版返回对象-TemplateResponse
- 文件上传-File uploads: 概览 | 文件对象 | 储存API-Storage | 管理文件 | 自定义储存-Storage
- 基于类的视图- Class-based views: 概览 | 内建展示视图 | 内建编辑视图 | 使用mixins | API参考 | Flattened index
- 高级-Advanced: 生成CSV | 生产PDF
- 中间件-Middleware: 概览 | 内建中间件类
模版层-Template
模板层为用户提供了一种设计友好的语法来呈现信息,了解这个语法如何被设计者使用,以及程序员如何扩展它:
- 基础-The basics: 概览
- 面向设计师-For designers: 语言概览 | 内建的标签tags及过滤器filters | 人性化
- 面向程序员-For programmers: 模版API | 自定义标签tags及过滤器filters
表单-Forms
Django提供了一个丰富的框架来帮助创建表单和操作表单数据。
- 基础-The basics: 概览 | 表单API | 内建fields | 内建widgets
- 高级-Advanced: 模型表单-ModelForm | 整合媒体 | 表单集-Formsets | 自定义验证
开发流程
了解各种组件和工具,以帮助您开发和测试Django应用:
- 配置-Settings: 概览 | 完整配置列表
- 应用-Applications: 概览
- 异常-Exceptions: 概览
- django-admin 和 manage.py: 概览 | 新增自定义命令
- 测试-Testing: 介绍 | 编写并运行测试 | 包含的测试工具 | 高级主题
- 部署-Deployment: 概览 | WSGI服务器 | 部署静态文件 | 通过email跟踪代码错误
管理页-admin
查找所有您需要了解的自动化管理界面,这是Django最受欢迎的功能之一:
- 管理站点-Admin site
- 管理操作-Admin actions
- 管理文档生成器-Admin documentation generator
安全-Security
安全性是Web应用程序开发中最重要的话题,Django提供了多种保护工具和机制:
- 安全概览-Security overview
- 已披露的Django安全问题-Disclosed security issues in Django
- 点击劫持保护-Clickjacking protection
- 伪造夸张请求保护-Cross Site Request Forgery protection
- 加密签名-Cryptographic signing
- 安全的中间件-Security Middleware
国际化和本地化
Django提供强大的国际化和本地化框架,以协助您开发多语言和世界各地的应用程序:
- 概览-Overview | 国际化-Internationalization | 本地化-localization | 本地化的Web UI格式化和表单输入
- 时区-Time zones
性能和优化
这里有各种各样的技术和工具可以帮助您更高效地运行代码 - 更快速,并使用更少的系统资源。
- 性能和优化概览
地理框架
Django提供了一个丰富的框架来帮助创建表单和操作表单数据。
GeoDjango一直努力于做一个世界级的地理Web框架, 其目标是尽可能地简化构建GIS Web应用程序,并利用空间数据的功能。
常见的Web应用工具
Django提供了Web应用程序开发中常用的多种工具:
- 鉴权-Authentication: 概览 | 利用鉴权系统 | 密码管理 | 自定义鉴权 | API参考
- 缓存-Caching
- 日志-logging
- 发送邮件-Sending emails
- Syndication feeds (RSS/Atom)
- 分页-Pagination
- 消息框架-Messages framework
- 序列化-Serialization
- 会话-Sessions
- 网站地图-Sitemaps
- 静态文件管理-Static files management
- 数据验证-Data validation
其他核心功能
了解Django框架的其他核心功能:
- 条件内容处理-Conditional content processing
- 内容类型和泛型的关系-Content types and generic relations
- Flatpages
- 重定向-Redirects
- 信号-Signals
- 系统校验框架-System check framework
- 站点框架-The sites framework
- Django中Unicode编码-Unicode in Django
Django开源项目
了解Django项目本身的开发过程以及您可以如何贡献:
- 社区-Community: 如何参与 | 发布流程 | 团队组织 | Django源码仓库 | 安全策略 | 邮件列表
- 设计理念-Reference: 概览
- 文档-Documentation: 关于此文档
- 第三方发布-Third-party distributions: 概览
- Django版本迁移-Django over time: API兼容 | 发布及更新说明 | 弃用时间表