django中url传递参数的几种方法

django中给url传递参数可以有多种方式,我最近使用时候找了一些资料,现在整理如下:

1.第一种,直接在url地址中用固定格式传递

在url.py中代码如下

urlpatterns = [
    url('info/(.+)/(.+)/$',views.info,name='info'),
]

在views.py中代码:

def info(request,param1,param2):
    print(para1)
    print(para2)
    return HttpResponse("第一个参数是:"+param1+",第二个参数是:"+param2)

在浏览器中访问:

返回结果是:

2.第二种,传统的“?”传递参数

例如,http://127.0.0.1:8000/info/?p1=1&p2=2,url中‘?'之后表示传递的参数,这里传递了p1和p2两个参数。通过这样的方式传递参数,就不会出现因为正则匹配错误而导致的问题了。在Django中,此类参数的解析是通过request.GET.get方法获取的。

在url.py中代码如下:

urlpatterns = [
    url('viewdoc/$',views.info,name='info'),
]

在views.py中代码如下:

def viewdoc(request):
    p1=(request.GET.get('p1'))
    p2=(request.GET.get('p2'))
    return HttpResponse("第一个参数p1是:"+p1+",第二个参数p2是:"+p2)

注意:GET关键字一定要大写,不然会出错。

在浏览器中访问:

输出结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值