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`是一个类似于字典的数据类型,所有获取值跟字典的方式都是一样的。