如何在 Django 中使用动态 URL 路由?
在 Django 中,可以使用正则表达式来定义动态 URL 路由。
假设需要在 Django 中定义一个动态的 URL 路由,可以按照以下步骤操作:
-
在项目的 urls.py 文件中导入 re 模块(Python 正则表达式模块)和视图函数:
python from django.urls import path, re_path from . import views
-
在 urlpatterns 列表中添加一个 re_path,
python urlpatterns = [ re_path(r'^(?P<name>\w+)/$', views.dynamic_view), ]
此处通过正则表达式定义了一个名为 name 的参数,它可以匹配一个或多个单词字符(\w+),并将其传递给动态视图函数 dynamic_view。
-
编写动态视图函数 dynamic_view:
python def dynamic_view(request, name): return HttpResponse(f"You entered {name}")
此处动态视图函数接受两个参数:request 对象和动态参数 name,它将 name 参数插入到响应信息中返回给用户。
-
在浏览器中输入动态 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}")
相关文章