Django源码分析1—目录结构

DJango是基于python的一款WEB快速开发框架,由于它简洁的语法和即插即用的模块调用,为我们创建WEB应用提供了极大的便利。阅读并学习Django源码,可以极大的提升我们的编程项目构造能力。接下来的几篇文章,我们从如何创建Django项目深入到它的实现原理,以便学习它优秀的项目思维。

我们在用django创建项目的时候,django会自动创建几个模块,下面详细介绍一下这几模块的作用及实现原理。

>> django-admin startproject project
源码截图

首先,我们打开项目的第一眼就会看到这个manage.py这个模块。先说说他的作用,从源码中我们可以看出,它导入django的管理模块执行命令行。并做了一些基本设置,主要是写入环境变量。它的作用就是执行一些djago的一些命令。如添加app,运行服务等。

>> python manage.py startapp name
>> python manage.py runserver

后期我们在django项目中执行的命令都是通过这个模块来调用的。
然后我们进入它的第一个目录,这层目录有4个文件,分别是init.py、settings.py、urls.py 、和wsgi.py模块。按照先后顺序,依次介绍。

首先是init.py,这个模块在这里主要的作用是做一些参数的初始化. 关于这个模块的详细细节大家请参阅官方文档。
项目的第二文件 settings.py 这个模块项目设置的主要文件。由于django的模块很多,我们在做项目的时候并不需要所有的模块,所以本着简介的特点django除了基本的模块并不会添加过多的模块,我们项目中如果需要django中的其他模块,就可以在设置文件中插入,即插即用非常方便。

部分源码

目录中的第三个文件是路由的配置及添加。我们在浏览网页的时候浏览器的地址栏中的地址就是url,通常web应用除了网站的域名后还有一些类似目录结构的文字,这些我们称之问路由。如下
路由

其中红色方框标注的东西就是路由地址。这个模块的主要功能就是配置网站中的路由地址的,需要注意的是django1.X和2.X的路由配置有变化,主要体现在它有url模块改成了path模块,我的djago版本为1.11.关于这个模块,后面还会继续详细介绍。

image.png

目录的最后的一个文件WSGI,WSGI的全称为:Web Server Gateway Interface(WEB 服务器 网关接口)它做的作用是为了配置好我们需要的服务器网关。在它的作用下我们运行了一个web应用。


wsgi

在我们没有创建app的时候,djgango的运行就是这样的。
image.png

到了这里基本的web应用可以创建好了,接下来我们需要为添加功能。在下一篇文章中我们将创建一个app,并详细介绍一下配置模块,和url模块相关细节。

你可能感兴趣的:(Django源码分析1—目录结构)