如何在 Django 中使用动态 URL 路由?

2023-04-11 00:00:00 路由 动态 如何在

在 Django 中,可以使用正则表达式来定义动态 URL 路由。

假设需要在 Django 中定义一个动态的 URL 路由,可以按照以下步骤操作:

  1. 在项目的 urls.py 文件中导入 re 模块(Python 正则表达式模块)和视图函数:

    python from django.urls import path, re_path from . import views

  2. 在 urlpatterns 列表中添加一个 re_path,

    python urlpatterns = [ re_path(r'^(?P<name>\w+)/$', views.dynamic_view), ]

    此处通过正则表达式定义了一个名为 name 的参数,它可以匹配一个或多个单词字符(\w+),并将其传递给动态视图函数 dynamic_view。

  3. 编写动态视图函数 dynamic_view:

    python def dynamic_view(request, name): return HttpResponse(f"You entered {name}")

    此处动态视图函数接受两个参数:request 对象和动态参数 name,它将 name 参数插入到响应信息中返回给用户。

  4. 在浏览器中输入动态 URL,例如:

    http://127.0.0.1:8000/pidancode/

    此时 Django 将动态参数编码为字符串“pidancode”,并将其传递给动态视图函数 dynamic_view。函数将返回以下响应内容:

    You entered pidancode

完整的示例代码如下所示:

# urls.py

from django.urls import path, re_path
from . import views

urlpatterns = [
    re_path(r'^(?P<name>\w+)/$', views.dynamic_view),
]


# views.py

from django.http import HttpResponse

def dynamic_view(request, name):
    return HttpResponse(f"You entered {name}")

相关文章