许多新手程序员发现Django文档内容非常庞大。

假设想学习如何为用户执行登录。看着很简单:登录是Django的核心功能。如果搜索“ django登录”或搜索文档,则会看到一些选项,其中“使用Django身份验证系统”是最有希望的结果。单击该链接,很高兴地期望登录问题将很快就会搞定,但这39页的页面估计会被吓一跳,信息太多了。

另外,也可以在django.contrib.auth上找到一些参考,所有auth内容都在这里,如果浏览此页面,将看到所有不同身份验证模型,字段和功能的罗列,但没有说明它们应该如何组合在一起。

在这时,我们可能想绝望的关闭浏览器,搞得自己要重新考虑学习Django的决定了。看个文档为什么这么难找到?为什么本文档如此零散?

经验丰富的开发人员怎么知道“正确的地方”在哪里?Django文档中的目录太长了。但是我们也会发现其他人对Django文档的出色表现赞不绝口:难道我搞错了?

如果可以在几分钟之内或更短的时间内从提出问题到找到答案,那不是很好吗?作为专业的Django开发人员,每天都会不断地扫描文档以找出解决问题的方法。

在这篇文章中,我将概述如何在Django文档中找到所需的内容,以减少沮丧和停留的时间,而将更多时间用于编写Web应用程序。我还列出了一些我认为有用的关键参考。

经验丰富的开发人员他们的观点是对的:知道如何阅读文档对于程序员来说是一项非常重要的技能,而擅长于此将节省大量时间。

找到正确的部分
库文档几乎总是用不同的部分编写的。如果不了解这些部分的用途,那么将完全迷路。如果有时间,请观看Daniele Procida的精彩演讲,讨论如何组织文档。在演讲中,他描述了文档的四个不同部分:

教程:展示如何完成一个小项目的课程(示例)
操作方法指南:有关如何解决常见问题的步骤的指导(示例)
API参考:所有代码的详细技术说明(示例)
说明:设计决策的高层讨论(示例)
除了这些之外,通常还有一个快速入门(示例),这是开始使用该库所需的绝对最低限度的步骤。

Django Rest Framework文档使用与此类似的结构

Django文档使用与此类似的结构

所有这些文档都被划分为不同的部分。一旦学习了这种结构,就可以快速浏览大多数文档。既然了解了库文档通常是以特定的方式构造的,那么我将解释如何浏览该结构。

首先做教程
这看起来似乎很明显,但是我不得不说。如果文档中有教程,请执行该教程。在这里,作者可能决定引入对理解其他所有内容至关重要的概念,至少要略读一下。

查找示例,指南或概述
除非已经确切知道要查找的内容,否则请避免使用API参考部分。因为标题中包含“参考”,并且内容非常详细,没有一些高级解释。例如,django.contrib.auth是参考部分-在这里不是学习“ Django登录”工作原理的好地方。

在查看API参考之前,需要了解代码的各个部分如何组合在一起。这可能很难,因为大多数文档(甚至是非常好的文档)都不完整。尽管如此,最好的尝试还是寻找框架功能的概述和解释。

查找并扫描操作指南列表,以查看它们是否能够解决确切问题。如果该指南可以直接解决问题,则可以节省大量时间。

如果没有指南,请快速扫描主题列表,然后尝试查找所需的主题。如果还不太了解该主题,请阅读概述。例如“身份验证”和“授权”(它们是不同的,特定的内容)。

一旦认为应该理解所有内容如何融合在一起,就可以转到详细的API参考,从而确保正确使用代码。

查找并记住关键参考
了解了要执行的操作后,将需要使用API参考页来准确确定应编写的代码。最好记住包含最有用参考的关键页面。这是我一直使用的个人收藏夹:

设置参考:所有设置及其作用的列表
内置模板标签:所有带有示例的模板标签
Queryset API参考:使用ORM访问数据库的所有不同工具
模型字段参考:所有不同的模型字段
优等的基于类的视图:Django每种基于类的视图的详细说明

使用Django REST Framework时,我经常会提到:

优等的DRF:类似于基于优等的视图,但适用于DRF
序列化器参考:使序列化器工作
序列化器字段参考:所有不同的序列化器字段
嵌套关系:如何将序列化程序置于其他序列化程序内部阅读的搜寻趋势
大多数文档并不是像一本小说一样从头到尾进行线性阅读:大多数页面阅读时间太长。相反,应该策略性地搜索所需内容。大多数文档都涉及很多内容,因为它们太多了,因此作者需要详细解释。我们不能依靠强力读取所有内容来找到所需的信息。

可以使用浏览器的内置文本搜索功能(ctrl-f)快速找到所需的文本。这样可以节省大量的滚动操作。浏览Django文档时,我一直使用这种技术。

此外,大多数真正的长页面都会有一个侧边栏,汇总所有内容。

阅读源代码
这有点像“自己动手做”的文档,但是当需要答案而文档没有答案时,代码就是该库工作方式的权威来源。有许多库详细信息太费力以致无法完整记录,有时期望如果我们真的需要了解某些功能,则应该尝试阅读代码。Django源代码编写得相当好,投入其中的时间越多,浏览起来就越容易。对于初学者来说,这并不是真正的建议,但也可以尝试一下。

总结
在我看来,Django文档确实非常不错,但是像大多数代码文档一样,对于初学者来说,它们很难导航。我希望这些技巧将对Django的学习更加愉快。总结一下我的技巧:识别文档的不同部分
如果没有信心,或者至少略读了本教程,请先做本教程
尽早避免API参考
尝试找到如何指导问题
尝试查找主题概述和主题说明
记住关键参考,以便以后快速查找
搜索文档,不要像看书一样阅读它们
绝望地阅读源代码
Django文档虽然没有,在某个时候,需要转向Django社区博客,视频,课程和书籍。

以上就是快速阅读django官方稳定的方法,可以在日常阅读中使用,提供学习效率。

django文档_如何在django官方文档中快速找到需要的内容相关推荐

  1. vue怎么把api 挂载到全局_深入理解Vue官方文档梳理之全局API

    Vue.extend 配置项data必须为function,否则配置无效.data的合并规则(可以看<Vue官方文档梳理-全局配置>)源码如下: 传入非function类型的data(上图 ...

  2. Django企业开发读书笔记(及官方文档学习笔记) 老男孩2019Go语言视频学习

    目标:深入理解Django以及web开发深入知识,掌握Gin ,Go micro 框架 ,Kafka ,Zookeeper 为kubernetes Istio 做微服务,服务网格做铺垫 实现Pytho ...

  3. django 传递中文_如何在Django中建立消息传递状态

    django 传递中文 by Ogundipe Samuel 由Ogundipe Samuel 如何在Django中建立消息传递状态 (How to Build a Message Delivery ...

  4. django 静态数据_如何在Django中使用静态数据?

    django 静态数据 Static Data means those data items that we cannot want to change, we want to use them as ...

  5. django模型查询_如何在Django中编写有效的视图,模型和查询

    django模型查询 I like Django. It's a well-considered and intuitive framework with a name I can pronounce ...

  6. pythondocumentation是什么_怎样阅读Python官方文档

    如何阅读官方Python文档的初学者,因为他们没有相关的经验,学习语言通常是费时且劳动密集型和效果不是很好.下面简要介绍如何阅读官方文件.一旦你学会快速查询官方文件,学习效率会提高很多文档门户.如何阅 ...

  7. 【文档熟肉】spring cloud官方文档の中文熟肉之eureka

    下面会陆续开始spring cloud中文文档的更新工作. 先更新个spring cloud最关键的eureka吧,原文地址: https://docs.spring.io/spring-cloud- ...

  8. tensorflow官方文档_Tensorflow 2.0 Preview 官方文档

    TensorFlow 2.0目前放出了Preview版本.目前想了解TensorFlow 2.0最快的方式就是查看官方API中的变化.本文列举一些从TF官方API中看出的TF 2.0的改进. Tens ...

  9. python3官方文档 中文-Python 3.7 官方文档中文翻译召集

    geelaw 2018-08-07 00:59:47 +08:00 @LudwigWS #22 在你给出的第一个链接里面的第一个例子,前后分句的主语是相同的,只是重复了一次.注意 > 小明虽然考 ...

最新文章

  1. sql语句 case
  2. java中对象模型与数据库中的关系模型
  3. 学完Web前端后发展方向有哪些呢?
  4. 是的,我不做技术经理了
  5. jenkins配置节点为windows代理
  6. 这样的开源方式,你喜欢吗?
  7. C#中调用Windows API的要点 .
  8. mac应用 已损坏,打不开.你应该将它移到废纸篓
  9. Java:Map转List (用stream实现)
  10. 【历史上的今天】7 月 23 日:Novell 挑战微软;计算机界的教育家出生;第一颗 Landsat 卫星发射
  11. mysql查询区分英文大小写_Mysql查询英文如何严格区分大小写?
  12. php蘑菇街商城源码,php源码:dedecms精仿蘑菇街(mogujie.com)源码,时尚购物社区源码...
  13. 探讨下app的包为什么抓不到
  14. python substr_Python字符串的方法
  15. Windows下安装Oracle11g数据库
  16. 1008 : 美元和人民币
  17. linux常用指令词典
  18. Selective Search(选择性搜索)算法学习
  19. 操作系统存储管理实验课程设计报告
  20. Java十六进制操作

热门文章

  1. python解决鸡兔同笼_Python解决鸡兔同笼问题的方法
  2. 关于前端页面测试和抵御 clickjacking attack 的一些方法
  3. SAP UI5 初学者教程之十二 - 使用 CSS 类对 UI 进行进一步美化试读版
  4. 2021年6月3日,SAP 全球蓝宝石大会将在线上盛大启幕
  5. 以非生产模式的方式启用SAP Spartacus的服务器端渲染SSR
  6. Angular开发模式下的setNgReflectProperties函数
  7. SAP Spartacus category navigation按钮之间的间隔问题
  8. Angular应用的angular.json文件字段一览
  9. SAP CDS view的文本格式的源代码是如何被ABAP后台解析的
  10. why jQuery.clone does not work as expected