如何通过 URL 在 Django 中传递参数?
在 Django 中,可以通过在 URL 中添加参数来向视图函数传递参数。这个参数可以是一个数字、一个字符串或其他类型的数据。
下面是一个例子:
- 设计 URL 模式
from django.urls import path from . import views urlpatterns = [ path('page1/<str:name>/', views.page1_view, name='page1'), ]
- 编写视图函数
from django.shortcuts import render def page1_view(request, name): context = {'name': name} return render(request, 'page1.html', context)
- 编写 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 将无法正确传递参数。
相关文章