如何在 Django 中将多个 URL 映射到同一个视图函数上?
在 Django 中,可以使用 urlpatterns 列表来定义 URL 映射规则。其中,每个 urlpatterns 元素都是一个由 URL 规则和映射的视图函数组成的元组。要将多个 URL 映射到同一个视图函数上,可以将多个 urlpatterns 元素指向同一个视图函数。
下面是一个例子,将 "/pidancode/" 和 "/pida/" 两个 URL 映射到同一个视图函数上:
from django.urls import path from . import views urlpatterns = [ path('pidancode/', views.my_view), path('pida/', views.my_view), ]
在这个示例中,我们将 "pidancode/" 和 "pida/" 两个 URL 都映射到了名为 my_view 的视图函数上。这样,当用户访问这两个 URL 的时候,都将触发 my_view 函数的执行。
示例代码演示:
from django.shortcuts import render from django.http import HttpResponse def my_view(request): return HttpResponse("<h1>Welcome to pidancode.com</h1>") urlpatterns = [ path('pidancode/', my_view), path('pida/', my_view), ]
这个例子中,我们在 my_view 函数中返回了一个简单的 HTML 内容,用来提示用户已经访问了 pidancode.com。当用户访问 "/pidancode/" 或者 "/pida/" 时,都将看到这个页面的内容。
需要注意的是,URL 映射规则的匹配是按照 urlpatterns 列表中定义的顺序进行的。因此,在多个 URL 映射规则中,如果前面的规则已经匹配成功,后面的规则将不会再被尝试匹配。因此,最好将更具体的 URL 规则放在前面,以便更好的匹配到用户请求的 URL。
相关文章