首页 > 解决方案 > 仍然适用于 APPEND_SLASH 的 Django 包罗万象的 URL

问题描述

我正在尝试将所有未知 URL 路由到单个视图。但是,在执行此操作时,我的已知 URL 仅在它们没有尾部斜杠时才有效,尽管在“settings.py”中设置APPEND_SLASH为。True

这是一些代码:

设置.py:

APPEND_SLASH = True
ADMIN_URL = "admin/"

网址.py:

from django.conf import settings
from django.contrib import admin
from django.urls import include, path, re_path
from myapp.views import my_catch_all_view

urlpatterns = [
  path(settings.ADMIN_URL, admin.site.urls),
  re_path(r"^.*", my_catch_all_view),
]

如果我转到“localhost:8000”,我会正确地路由到我的包罗万象的视图。

如果我转到“localhost:8000/foobar/”,我会正确地路由到我的包罗万象的视图。

如果我转到“localhost:8000/admin/”,我会正确地被路由到管理视图。

但是,如果我转到“localhost:8000/admin”,我会错误地被路由到我的包罗万象的视图。

我已经看到了这个答案,但不幸的是,这对我不起作用。

有什么建议么?

标签: pythondjangodjango-urls

解决方案


推荐阅读