django 业务逻辑写在view里吗?_Django学习之路(2)项目目录文件说明

在上一篇里,我只是初始化了一个空的web项目,并没有对项目进行深入说明,这一篇将详细说明项目目录结构。

项目目录结构

0210f71e524c46f0d5da2d39267aa85e.png

  1. 项目下manage.py文件,这个是管理项目的文件,启动和结束等其他管理动作。

  2. 项目下的blog文件夹展开,下面有的几个重要文件

    1. __init__.py文件,这是一个空文件,它的作用是让一个代码文件夹变成一个可以被import的软件包。

    2. settings.py文件,这个是项目的配置文件,包括网站语言,时区,数据库连接配置,静态文件目录配置等。

    3. urls.py文件,这个是项目的路由系统,即URL和处理其函数的对应关系。

    4. wsgi.py文件,这个是WSGI兼容的web服务器的入口,一般基本不动。

    5. asgi.py文件,同WSGI一样,Django 也支持使用ASGI来部署,它是为了支持异步网络服务器和应用而新出现的 Python 标准,一般基本不动。

项目配置文件说明

  • settings.py    这个就是项目的配置文件。

先来从上往下看看文件里面的一些内容。

BASE_DIR = Path(__file__).resolve().parent.parent

这个BASE_DIR就是这个项目的所在路径,这里不需要动它,后面我们会用到,接着往下看,我们会看到:

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': BASE_DIR / 'db.sqlite3',    }}

这段内容的意思是为项目指定后端使用的数据库,这里项目默认使用sqlite数据库,我们可以指定项目使用MySQL,Oracle,Postgres等数据库。

LANGUAGE_CODE = 'en-us'TIME_ZONE = 'UTC'

这里就是指定项目的语言和时间,默认是英语和格林威治时间,这里一般更改为:

LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/shanghai'

到此,一个settings.py的主要配置我们已经说完了,当然该文件还有一些重要的东西,我们在后面会再提到。

  • urls.py    这个就是url的路由系统。

    打开urls.py文件,能看到如下内容:

from django.contrib import adminfrom django.urls import pathurlpatterns = [    path('admin/', admin.site.urls),]

下面的admin/,就是表示url匹配到admin这条路由的时候,去执行admin.site.urls这个最终对应的视图函数。后面会展开说明路由系统。

应用目录结构

36f9b0e3e9379af235a9813575c73f99.png

上一篇我们创建了一个名为app的应用,这里我们展开app应用,对该目录下面的有关内容进行说明

  1. __init__.py 仍然是表示把app这个应用变成一个可import的包

  2. admin.py 这个就是app这个应用的数据库后台管理文件,后面会展开

  3. models.py 这个是app应用的有关数据库操作的文件

  4. tests.py 这个是应用的自动化单元测试

  5. views.py 这个就是业务逻辑代码

  6. apps.py 这个是django把工程项目和应用关联起来的文件

  7. migrations 这个文件夹是应用和数据库相关的文件

Django请求流程

下面说明一下Django框架处理用户请求流程:

  1. 用户通过浏览器发起request请求

  2. 请求到达django框架的request middlewares,中间件对request做预处理或者直接response请求

  3. 路由分发器通过urls.py文件查找用户请求url对应的view

  4. view middlewares被访问,同样对request做预处理或者直接response请求

  5. 调用view函数,执行业务逻辑,包括操作数据库等中间件。

  6. view函数处理结果被返回给response middlewares

  7. response middlewares加工response数据

  8. 最终的response数据返回给浏览器,呈现给用户

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值