Django04——Django项目规范的目录结构

1、什么是应用

一个项目中又可以细分为多个应用(application,简写app)。在Django中,将完成某个或某几个功能的集合称为一个应用。所以一个功能比较多的网站常常是由多个应用组成的。在每个django项目中可以包含多个app,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。所有的app共享项目资源。

通常会新建一个apps文件夹,专门用来存储各种应用。在templates下,为每个应用建立文件夹,专门用来存储各个应用下的模板文件。

2、新建应用

python manage.py startapp 应用名称

在刚刚新建的项目下,新建一个叫cmdb的应用。
在pycharm下方的terminal终端中,先切换到项目所在的路径(即项目下manage.py文件所在的路径),输入命令:

python manage.py startapp cmdb

在这里插入图片描述
这样就创建了一个叫做cmdbappdjango自动生成“cmdb”文件夹。如下图所示:
在这里插入图片描述
各个文件说明如下:
(1)migrations:这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而实现models.py模型类和数据库表之间迁移。
(2)admin.py:自定义Django管理工具,比如设置在管理界面能够管理的项目,或者通过重新自定义与系统管理有关的类对象,向管理功能增加新的内容。
(3)apps.py:Django1.10之后增加的,通常包含对应用的配置,比如为管理功能提供一个合适的应用名称。
(4)models.py:这是应用的数据模型,每个Django应用都应当有一个models.py文件,虽然该文件可以为空,但不宜删除。
(5)tests.py:在这个文件中可以编写测试文档来测试所创建的应用。
(6)views.py:这是一个重要的文件,用于保存响应各种请求的函数或者类。如果编写的是函数,则基于函数的视图;如果编写的是类,则称为基于类的视图。views.py就是保存函数或者类的视图文件。当然,也可以用其他的文件名称,只不过在引入相应函数或者类时,要注意名称的正确性,views.py是我们习惯使用的文件名称。

在项目下新建一个apps文件夹,把应用cmdb拖放至apps文件夹内。如下图所示:
在这里插入图片描述

3、新建模板

在项目templates文件夹下新建一个以应用名命名的文件夹cmdb,在其下创建一个login.html页面,如下图所示:
在这里插入图片描述
login.html页面如下:

<body>
    <h1>登录页面</h1>
</body>

4、配置总路由

如果请求的是应用下的资源,通过总路由将请求导到子路由。
在这里插入图片描述

5、新建应用子路由,并配置子路由

目标:输入http://127.0.0.1:8000/cmdb/login时,返回login.html页面。
在应用cmdb下新建子路由urls.py文件,配置路由,如下图所示:
在这里插入图片描述

6、定义视图函数

在这里插入图片描述

7、测试

启动服务,输入http://127.0.0.1:8000/cmdb/login/,效果如下:
在这里插入图片描述

8、小结

(1)Django版本之间有区别,选择时注意版本,建议选择LTS。
(2)创建项目前要规划项目的存储位置,推荐使用pycharm创建项目、启动项目。
一个Django项目中通常包含多个应用,通常将创建的应用放在专门新建的apps文件夹。创建应用:python manage.py startapp 应用名称。
(3)每个应用的模板通常也建议放在templates下对应的应用名文件夹下。
(4)在总路由文件中,通常配置路由导到每个应用下的子路由中,在每个子路由中配置资源的具体路由。
(5)在定义视图函数时,request参数必须有,名字是类似self的默认规则,可以改。它封装了用户请求的所有内容。返回时,必须返回HttpRespone的对象。当想返回一个html页面时,可以使用render方法来渲染,第一个参数是request,第二个参数是要返回的页面。Render是django提供的方法和规则。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值