python框架篇-django02—探究urls

本文详细解析了Django框架中的URL配置方式,包括使用正则表达式定义URL模式,无命名参数与有命名参数的传参方法,以及主URL与子URL的分发机制。通过实例展示了如何精确匹配URL并传递参数到视图函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from django.conf.urls import url

# 必须导入url 不然默认的path是不能用正则表达式的

 

urlpatterns = [
    # 系统默认的管理界面
    url('admin/', admin.site.urls),
    url(r'form/', g.form),
    # ^$就将此url定死了,只能是getuser开头,4位数字结尾才可以访问
    # url(r"^getuser/\d{4}$", g.getuser),#此url无参
    url(r"(^getuser/\d{4}$)", g.getuser),#无命名参数,从url输入获取参数
    url(r"(?P<year>\d{4})/(?P<month>\d{2})", g.getuser2),#有命名参数,从url输入获取参数
]

无命名传参,是根据参数的位置在views中进行接收

def getuser(req,arg1):
    # return HttpResponse("<h1> hello world! </h1>")
    date = datetime.datetime.now()
    print(date,arg1)
    return render(req,"get_current_time.html",{"current_time":date,"arg1":arg1 })

有命名传参,是根据参数的名称在views中进行接收

def getuser2(req,year,month):
    # return HttpResponse("<h1> hello world! </h1>")
    date = datetime.datetime.now()
    print(date,year,month)
    return render(req,"get_current_time.html",{"current_time":date,"arg1":year })


#主urls是分发的作用,分发给各自app下面的urls

以下主urls说明所有以blog开头的访问,都转给mysitapp下的urls模块

【主urls】整个项目的urls

urlpatterns = [
  
    #主urls是分发的作用,分发给各自app下面的urls
    url(r"^blog",include('mysit.urls')),

]

【子urls】某个具体app下的子urls

urlpatterns = [
    url(r"news/history$", g.getuser),
]

整合合起来就说明只有访问路径是/blog/news/history 才可以访问成功!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值