Django ------ 将主路由和子路由进行绑定

在你主路由的urls.py中,最初有提供的注释,都很有用,不要轻易删,如果看着碍事就把它隐藏起来
在这里插入图片描述
大致说的就是,你要绑定一个子路由的URL配置, 需要引入一个库,并且代码按照它给的方式写。

首先要先明确几点

  • 路由不能直接被访问,需要映射
  • 子路由只管子路由下的其他链接
    在这里插入图片描述

主路由中的代码如下:

from django.urls import path, re_path,include

urlpatterns = [
    path('admin/', admin.site.urls),
   
    #将主路由和子路由绑定
    path('book/', include('book.book_urls')),   #就已经匹配到了book这个位置
]

子路由(子应用book下的urls.py)中的代码如下:(你既然使用的子路由,访问的视图函数肯定是要写在子应用中的views.py中)

from django.urls import re_path

from book.views import index, detail				#需要调用这些函数,就得先导入进来

urlpatterns =[
    #name用于给视图命名,可以通过reverse()反向解析
    re_path(r'^$',index,name="书的首页"),
    re_path(r'^detail/(?P<id>\d+)/$',detail,name="书的详情页")
]

子应用book下的views.py中的代码如下:

from django.http import HttpResponse

# Create your views here.

#书应用下的首页

def index (request):
    return HttpResponse("书的首页")

#书的详情展示界面
#url?id=xxx
#url/888
def detail(request,id):
    return HttpResponse("书的详情页 ID:{}".format(id))

运行结果如图:
在这里插入图片描述在这里插入图片描述

注意:
  • 一定要分清,在你主路由的时候,匹配到了哪个路径,然后在子路由中接着写,要不就乱套了

不知道大家有没有注意到有一个文件叫作:_init_.py,尝试一下你会发现,这个文件只被执行一次,所以像数据库之类的,只需要被执行一次的代码,就可以放在这里(好像是用来放源码的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值