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/

 

posted @ 2024-07-01 22:30  little小新  阅读(10)  评论(0编辑  收藏  举报