4.4、Django - URL之URL传参给视图(二)

上篇介绍了通过URL传参给视图,下面继续说一下URL传参给视图的另外一种方式(查询字符串的形式),即GET 请求方法 。

在douAPI项目APP为douBook的views.py中:

from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse

# def book_info(request):
#     return HttpResponse("图书详情")

# def book_info_detail(request,book_id):
#     # 从数据库中拿book_id,省略
#     your_book_id = 'your book id is :{book_id}'.format(book_id = book_id)
#     return HttpResponse(your_book_id)

# 注意book_author_detail函数与book_info_detail(request,book_id)的区别,前者的除了request参数写在括号内,其余不写,在函数体内部体现
def book_author_detail(request):
    # 从数据库中拿id
    author_id = request.GET.get('id') # 或者author_id = request.GET['id']
    content = "Author's id of the book is : {input_id}".format(input_id = author_id)
    return HttpResponse(content)

在douAPI项目下的urls.py中:

from django.urls import path
from douBook import views

urlpatterns = [
    # path('douBook/', views.book_info),
    # # 注意:参数<book_id>必须与APP为douBook下的views.py中book_info_detail函数的参数book_id保持一致!!!
    # path('douBook/<book_id>/', views.book_info_detail),
    # 注意:通过查询字符串的形式传参,即GET请求方法,不需要加<>,author_id部分也可以随意写,比如写成Auth_id
    path('douBook/author/', views.book_author_detail),
]

结果如下:

在这里插入图片描述

总结:
1、采用查询字符串方式,在url中,不需要单独匹配查询字符串的部分,只需在视图函数中使用request.GET.get(参数) 或者 request.GET[参数] 方式来获取 。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值