[Python]Django 学习笔记 一——路由及其参数

根路由: 

  1. 在django中,路由不能以/开头,且最好以/结尾
  2. 在根路由中添加子路由用include()
from django.contrib import admin
from django.urls import path, include
from App01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    #在根路由中包含子路由
    #不能由/开头,最好以/结尾
    path('user/', include('App01.urls')),
]

 子路由:

  1. path第三个参数name是路由的名称,与试图函数参数无关
  2. 试图函数中的参数必须和路由中的参数名称一致 可以多个路由对应一个视图函数,注意里面的name最好不相同,以及视图函数里面的参数因为path()的类型不同需要有默认值
  3. path 的第一个参数的类型有int ,string, slug, path。其中string是默认参数类型
from django.urls import path, re_path
from App01 import views

#路由列表,名称urlpatterns 不能改
urlpatterns = [
    #path第三个参数name是路由的名称,与试图函数参数无关
    #首页
    path('', views.index, name='home'),

    #试图函数中的参数必须和路由中的参数名称一致
    #可以多个路由对应一个视图函数,注意里面的name最好不相同,以及视图函数里面的参数因为path()的类型不同需要有默认值
    #int,str,
    path('show/<int:age>/', views.show, name='show'),

    #string,不用加类型,因为string是默认参数类型
    path('change/<name>/', views.change_name, name='change'),

    #slug
    path('list/<slug:name>/', views.list_user, name='list'),

    #path,如果由多个参数,path类型必须是最后一个
    path('access/<path:path>/', views.access, name='path'),

    #正则
    #re_path 和path 最大区别是正则模式串
    re_path(r'^tel/(\d{9})/$', views.get_phone, name='phone'),

    #正则命名组中参数名必须一致, get_tel函数中参数必须为 tel
    re_path(r'^tell/(?P<tel>\d{9})/$', views.get_tel, name='tel'),

]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值