阅读量:0
Django中向URL传递参数的方法主要有两种:使用路径参数和使用查询参数。
- 路径参数:
路径参数是通过在URL中直接添加参数来传递的。在URL的路径中使用尖括号<>
来定义参数,并在views中的相应函数中接收参数。例如:
# urls.py from django.urls import path from . import views urlpatterns = [ path('user//', views.user_detail, name='user_detail'), ] # views.py from django.shortcuts import render def user_detail(request, user_id): # 使用user_id进行相应的处理 return render(request, 'user_detail.html', {'user_id': user_id})
在上面的例子中,URL user/123/
可以匹配到user_detail
视图函数,同时将参数123
传递给user_detail
函数。
- 查询参数:
查询参数是通过在URL中使用?
后面跟着键值对的形式来传递的。在views中可以通过request.GET
来获取查询参数。例如:
# urls.py from django.urls import path from . import views urlpatterns = [ path('user/', views.user_detail, name='user_detail'), ] # views.py from django.shortcuts import render def user_detail(request): user_id = request.GET.get('user_id') # 使用user_id进行相应的处理 return render(request, 'user_detail.html', {'user_id': user_id})
在上面的例子中,URL user/?user_id=123
可以匹配到user_detail
视图函数,并通过request.GET.get('user_id')
获取到参数123
。