如何通过 URL 在 Django 中传递参数?

2023-04-11 00:00:00 url 参数 传递

在 Django 中,可以通过在 URL 中添加参数来向视图函数传递参数。这个参数可以是一个数字、一个字符串或其他类型的数据。

下面是一个例子:

  1. 设计 URL 模式
from django.urls import path
from . import views

urlpatterns = [
    path('page1/<str:name>/', views.page1_view, name='page1'),
]
  1. 编写视图函数
from django.shortcuts import render

def page1_view(request, name):
    context = {'name': name}
    return render(request, 'page1.html', context)
  1. 编写 HTML 模板
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Page1</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

在上面的例子中,我们设计了一个 URL 模式 page1/<str:name>/,其中 <str:name> 表示传递一个字符串参数 name。当用户访问 page1/pidancode.com/ 时,Django 将会调用视图函数 page1_view 并将 name 参数传递给它。这个参数可以在函数中使用。最后,我们通过渲染 HTML 模板向用户返回结果。

你也可以在 URL 中传递其他类型的参数,只需要修改 URL 模式和视图函数即可。例如,你可以传递一个数字参数 <int:id>,或者传递多个参数 <str:name>/<int:age>/

注意,在 URL 模式中添加参数时,需要使用尖括号 <> 来表示参数的类型。这个类型可以是字符串、整数、浮点数等。在视图函数中,参数的名称必须与 URL 中定义的名称相同,否则 Django 将无法正确传递参数。

相关文章