欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

django的项目文件功能介绍

时间:2023-05-29
以我曾经在GitHub上发布的项目为例进行目录和文件内容介绍 项目链接:https://github.com/puppet-life/Django-Travel 项目的整体目录结构如下: 简要说一下每个文件夹的信息

Travels文件夹中存放的是整个django项目的配置信息,内含settings,urls等Python文件index,new和pay这三个目录在Django项目中称之为APP,也就是应用模板,应用的创建命令为:python manage.py startapp 自定义应用名称 ,index应用的创建命令也就是python manage.py startapp index进行的创建,这三个目录下存放的是应用模块的相关信息,如views和urls的Python文件media是自己创建的文件夹,这个也称之为流媒体文件夹,主要存储用户上传的图片,视频等等内容,也就是媒体文件的存储目录static文件也是自己创建的文件夹,存储静态文件,比如说前端HTML需要用到js或者css,为了方便管理,将所有的js和css等文件存储在static文件夹下templates文件为自己创建的模板文件夹,主要存储HTML文件 首先介绍配置文件,即Travels文件夹中的Python文件

在与项目名称相同的目录内存放的是整个项目的配置文件,该项目的名称为Travels,所以在这个项目文件夹内有个同名的文件夹Travels,该文件夹里的文件即配置文件

该目录内的文件结构如下图,其中主要的文件还为settings.py和urls.py,settings为整个项目的配置内容信息,urls为项目的根路由信息settings.py文件中,首先需要配置的为INSTALLED_APPS,这个列表中为该项目的APP名称,也就是应用名称,我们可以通过命令 python manage.py startapp 自定义应用名称 ,进行自定义应用名称的创建,创建后就需要在这个列表中进行添加,如下图:
下一个需要配置的内容就是模板文件存储路径,这个模板也就是templates,说白了就是前端页面,即HTML页面,所以我们可以看到项目目录中有一个templates文件夹,里面存放了所有的HTML文件,通过在TEMPLATES列表中添加该文件夹,如下图完成templates的路径配置

使用django项目避免不了的需要使用数据库,数据库的连接方式也在该文件中,在DATAbaseS字典中,写入数据库链接的相关的内容,即:数据库名称,连接地址,用户名,密码,端口,如下图所示

下面进行流媒体文件和静态文件的配置,这两个文件的作用在上面已经说明,在该配置文件的最下面自己直接进行写入即可,如下图所示

最后就是session的过期时间配置,主要作用就是用户登陆后会创建session,类似于登录凭证,然后设置该凭证的过期时间,未过期时该凭证可以一直使用,保持登录状态,配置内容如图所示
urls.py文件即该项目的根路由,比如说输入127.0.0.1:8000后,首先通过根路由进行映射,进行匹配,假设当前的链接为:127.0.0.1:8000/pay/,那么就会匹配该根路由下为pay的这个路由,然后进行路由映射,转发到对应的二级路由下,二级路由也就是我们创建的应用下的urls.py中,当前匹配到pay,就会根据配置转发到应用名称为pay的这个应用下的urls.py路由中,进行二级路由的匹配工作,根路由的配置内容如下图所示

在上图中第36和37行,配置了静态文件和流媒体文件的路由,这个路由也就是我们后续的访问对应的静态文件中的资源和流媒体文件中的资源的路由,比如说我们上传了一张图片存储在流媒体文件夹media下,我们后面需要访问上传的这个图片,就可以使用路由media/~匹配media文件夹中对应的图片信息,media/1.jpg即访问media文件下的1.jpg这个图片 下面介绍创建的应用文件,即前面提到的index,new和pay这三个应用

首先介绍index应用,这个应用的创建在前面已经介绍,同时该应用如何进行配置也已经介绍,主要介绍该应用中的文件和对应的作用

目录结构如下图,其中migration为迁移文件存储的文件夹,这个文件夹只在个别的文件中,我将该应用作为了主应用,即我在该应用中创建了model.py文件,这个文件只需要创建一次,存储django的模型信息,后面会详细的讲解到,urls.py文件存储的为路由信息,即在前面介绍的跟路由的基础上,如果匹配到index/这个一级路由,那么就会自动的转发到当前的这个index应用下的urls.py中进行二级路由的匹配,views.py里面写的全部都是方法,也就是每个功能的实现细节,与url相绑定

首先介绍models.py,这个文件只需要在该项目中创建一次,我将这个模型文件创建到了index这个应用中,这个Python文件内存放的是一个个的模型类,类名为我们数据库中的表名,里面的属性为表中对应的列名,如下图所示,AttractionsDatail这个类名即数据库中表名为AttractionsDatail,下面的属性如name等即该表中的列名

urls.py文件为路由文件,存储的是该应用中的路由信息,即跟路由转发后的二级路由,通过该路由匹配到对应的二级路由,然后执行对应的视图,即views中的方法,完成该路由对应下的功能,如下图所示,以第一个路由为例,当根路由匹配到index后,转发到当前应用下的urls中,进行二级路由的匹配,如果二级路由名称为home,就会执行views中的home方法,完成该路由对应下的功能,当前路由应为:127.0.0.1:8000/index/home/ ,接着执行views视图下的home方法

views.py文件中存储每个功能的实现方法,通过对应的路由匹配后执行对应的视图,完成相关的功能,如上述提到的匹配到home路由后,执行view中的home方法,如图所示,其他的方法都代表了对应的路由下所要执行的视图,实现对应的功能。

另外的应用文件和index相同,只是缺少了model.py文件,该文件为模型类文件,只需要创建一次,然后其他的视图中直接引入就可以了

如果使用该项目,想要去看功能实现的代码。即:views中的功能实现的细节,因为存在很多的应用和视图函数,所以不方便查找,可以先启动该项目,然后找到对应的功能页面,根据路由查找对应的views中的函数,比如说该功能的路由为127.0.0.1:8000/index/home,可以先在根路由中找index这个路由,然后去看index所匹配的二级路由对应的应用,然后找到对应的应用后,去该应用中的urls中匹配home,匹配到home后直接看对应的视图函数名,即views.函数名,然后去看该函数即可,该函数即为该功能的实现细节。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。