4、Django-子路由-urls--分布式路由
1、视图函数:views.py
--------------------------------------------------------------------------------------
from django.shortcuts import render
from django.http import HttpResponse
#函数1
def app_test1(request):
#return HttpResponse("hello world!")
return render(request, 'index.html') #配合html 来做渲染
# #函数2
# def app_test2(request):
return HttpResponse("app_test2")
-------------------------------------------------------------------------------------
2、在应用的路径下新建urls.py 路由
------------------------------------------------------------------------------------
from django.urls import path
from app_name.views import *
#这是一个子路由、子路由和主路由写法一样、直接在主路由调用即可
# 在子路由中调用视图函数
urlpatterns = [
path('index1/', app_test1, name='index1'),
path('index2/', app_test2, name='index2'),
]
------------------------------------------------------------------------------------------
3、主路由:urls.py
-----------------------------------------------------------------------------------
from django.contrib import admin
from django.urls import path, include
from app_name.views import *
urlpatterns = [
#直接调用视图函数
# path('index1/', app_test1),
# path('index2/', app_test2),
# path('admin/', admin.site.urls),
#通过子路由调用视图函数
#一个应用对应一个子路由
#这里使用了include模块
#这里有两层路由:先匹配app_name/ 、匹配成功后去到app_name应用下去找子路由usrls.py
#app_name/ 访问子路由的路径、可随意命名
#include('app目录名.urls.py文件名') 找到子路由的路径
path('app_name/', include('app_name.urls'))
#有多个应用的子路由可写多个path
]
----------------------------------------------------------------------------------------------
访问
#app_name 是主路由中的路径
#index1 是子路由中的路径
http://127.0.0.1:8000/app_name/index1/
http://127.0.0.1:8000/app_name/index2/