0


Django源码学习

因为工作中用到 Django 框架最多,经常需要阅读框架源码理解代码,于是写下我在阅读Django源码时的一些心得体会。
Django版本:4.1.3
目录(持续更新中…):

Apps模块

为什么学习 Django 源码

Django 作为 python 目前使用最多,并且是最大而全的框架,里面有非常多的设计思想和规范值得学习,并且想要用好 Django ,就必须对原理和源码有足够的了解,才能在问题排查、性能优化等方面更加得心应手。

如何阅读源码

  1. 高效阅读代码的第一个要点,是要先从整体上掌握源码的结构。从全局上了解源码的组成,分清结构的主次,才能更好地掌握源码
  2. 高效阅读代码的第二个要点,是一定要有目标牵引和原理支撑。源码功能复杂,模块众多,有目标的阅读和攻克更加高效。
  3. 高效阅读代码的第三个要点,是要做到先主线逻辑再分支细节。阅读源码时一定要先把功能模块的主线逻辑梳理出来,避免陷入上来就阅读代码中的每个分支,然后在每个分支上又追到每个函数中细看。而不同分支上的函数往往又涉及其他处理细节,这样一来,就会导致自己既不容易理解代码的主要逻辑,又会感到代码不好读,容易气馁。

Django目录结构

下面列出的是 Django 源码中的目录结构:

└── django // 根目录
    ├── apps
    ├── conf
    ├── contrib
    ├── core
    ├── db
    ├── dispatch
    ├── forms
    ├── http
    ├── middleware
    ├── template
    ├── templatetags
    ├── test
    ├── urls
    ├── utils
    └── views
apps

:与 Django 中定义的 app 相关的逻辑,Django中app即是在settings文件中配置的

INSTALLED_APPS

conf

:公共配置信息相关的目录,存放一些模版文件与

settings

默认配置。

contrib

:是 Django 内置的强大的功能包,相当于 Django 中的各种子模块,里面有大量额外提供的、或者增加 Django 功能的库及函数,比如 contrib 目录下的

auth

模块提供了与Django的用户验证相关的框架,

admin

模块提供了与自动化站点管理相关的后台功能。

core

:Django的核心功能目录,核心的功能都位于这个目录下, Django 下各种命令的使用如

django startproject

&&

python manage.py xxx

等核心命令的使用都在此目录下。

db

:数据库连接、模型Model定义以及 ORM 相关的逻辑。Django可以兼容很多数据库,包括MySQL、Oracle,PgSql等等,通过这个模块可以屏蔽不同数据库之间底层的差异,实现统一接口。

dispatch

:处理信号相关的模块,在 Django 中很多地方都有用到信号,比如生成数据库迁移文件时。

forms

:表单处理,主要用于与前端表单组件交互的封装。

http

:Http请求和应答等与网络请求相关的模块。

middleware

:内置的中间件模块,有很多方便可直接使用的中间件。

Template&&Templatetags

:Django的模版引擎。

test

:单元测试相关的模块。

urls

:处理路由相关的模块。

utils

:提供了很多使用的小工具类,比如懒加载类就在这个目录下。

views

:视图处理的模块。

标签: django python

本文转载自: https://blog.csdn.net/tlqwanttolearnit/article/details/129281315
版权归原作者 tlqwanttolearnit 所有, 如有侵权,请联系我们删除。

“Django源码学习”的评论:

还没有评论