Django 如何捕获所有 URL?
要捕获所有 URL,可以使用 Django 的通配符路由,在主 urls.py 文件的末尾添加如下代码:
from django.urls import re_path urlpatterns = [ # 其他 URL 配置 re_path(r'^.*$', views.catch_all), # 捕获所有 URL ]
这里使用了 re_path 函数,它可以使用正则表达式来匹配 URL。^.*$
匹配任意字符串,因此它可以匹配所有 URL。
views.catch_all
是一个视图函数,它会处理所有不匹配其他 URL 的请求。可以在对应的 views.py 文件中定义这个函数,例如:
from django.http import HttpResponse def catch_all(request): return HttpResponse("Welcome to pidancode.com!")
如果你访问任何 URL,它都会返回“Welcome to pidancode.com!”这个字符串。当然,你可以根据具体业务需求自定义这个视图函数的行为。
需要注意的是,所有 URL 请求都将被捕获,并且如果之前有其他与此正则表达式相匹配的路由,则会被覆盖。因此,这应该是你 urlpatterns 列表的最后一项。
总之,以上就是 Django 捕获所有 URL 的方法。
相关文章