温馨提示×

django url传递参数的方法是什么

小亿
135
2023-10-08 22:00:28
栏目: 编程语言

Django中向URL传递参数的方法主要有两种:使用路径参数和使用查询参数。

  1. 路径参数:

路径参数是通过在URL中直接添加参数来传递的。在URL的路径中使用尖括号<>来定义参数,并在views中的相应函数中接收参数。例如:

# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('user/<int:user_id>/', 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函数。

  1. 查询参数:

查询参数是通过在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

0