URL中传递参数给视图函数

1. 采用在url中使用变量的方式:

在path的第一个参数中,使用<参数名>的方式可以传递参数。然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找不到这个参数。另外,url中可以传递多个参数。

path("book/detail/<book_id>/<category_id>/",views.book_detail),
 
def book_detail(request,book_id,category_id):
    text = "您获取的图书id是:%s,图书分类是%s" % (book_id,category_id)
    return HttpResponse(text)

2. 采用查询字符串的方式

在url中,不需要单独的匹配查询字符串的部分。只需要在视图函数中使用request.GET.get('参数名称')的方式来获取。示例代码如下:

path('book/author/',views.author_detail),
 
def author_detail(request):
    author_id = request.GET['id']
    text = '作者的id是:%s' % author_id
    return HttpResponse(text)

以后在访问的时候就是通过/book/author/?id=1即可将参数传递过去。

因为查询字符串使用的是`GET`请求,所以我们通过`request.GET`来获取参数。并且因为`GET`是一个类似于字典的数据类型,所有获取值跟字典的方式都是一样的。

  

猜你喜欢

转载自www.cnblogs.com/0bug/p/9111070.html