一、子应用的特点
在Django中,一个项目(Project)可以包含多个应用(App),这些应用通常被称为子应用(Sub-applications)或简称应用。每个应用都负责处理项目中的一个特定功能或一组紧密相关的功能。这种模式使得Django项目非常模块化,易于维护和扩展。这样做的目的就能将各功能模块保持独立,方便各功能模块进行复用。
二、子应用创建
2.1 通过运行manage.py任务来创建
创建完成后会多出一个test1子应用的目录
记得一定要进行注册,在settings.py中INSTALLED_APPS列表进行注册,如果不注册,那么当前模块就不可用
2.2 子应用结构
migrations 用于存放迁移脚本
__init__.py 为包文件
admin.py 用于配置admin后台管理站点
apps.py 用于配置子应用信息
models.py 用于定义模型类
tests.py 用于定义当前子应用的单元测试逻辑
views.py 用于定义子应用的业务逻辑实现
三、路由
路由是指url与后端视图之间的一一映射关系,简单来说就是能够通过url去访问你定义的视图,什么是视图,就是前端通过链接访问的时候,你需要给前端返回的数据,可以简单理解为响应体,而url也可以成为接口链接。
3.1 定义第一个接口
第一步:在子应用中定义路由 + 视图
#1、这是在子应用test1下面的views.py文件中定义
from django.http import HttpResponse
def get_pre(request):
return HttpResponse("Welcome to my site!")
#2、在子应用中创建一个urls.py文件,定义以下代码
from django.urls import path
from . import views
urlpatterns = [
path("get/",views.get_pre) #get_pre方法就是上面定义的视图
]
第二步:在项目中包含应用路由
在项目中包含应用路由,这句话的意思就是让项目能够找到你写的接口,知道你在哪里,所以我们需要在项目的urls.py中去给他路径:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path("api/",include('test1.urls')) #第一个参数为url路径参数(字符串),第二个参数,就是需要引入子应用的yrls
]
总结: ====================================
3.2 访问
所以通过上面定义的路由和视图,接口地址就是
http://127.0.0.1:8000/api/get/
为啥是这个?
当你启动服务的时候,ip:端口是http://127.0.0.1:8000/,这个时候加上api/,项目路由就会匹配到子路由test1的urls中去, 路径上再加上get/,就匹配到了你定义的视图函数,当你访问http://127.0.0.1:8000/api/get/就返回:
至此,第一个接口,就已经完成
思路:在你的子路由中定义路由+视图----->然后在项目路由中去配置,让它能够找到你的路由,这样你访问的时候,就能够访问到你的函数视图