使所有Django url不区分大小写?

2024-04-25 00:52:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个相当大的Django设置,其中有70多个应用程序。最近的一个请求是让它与不区分大小写的url一起工作。有没有办法让它里面的每个应用都使用不区分大小写的URL而不必更改网址.py对于每个应用程序?在

让单个应用不区分大小写是一个相当简单的过程(例如:Case insensitive urls for Django?),但是考虑到应用程序的数量,有没有更好的方法(例如中间件)来实现这一点?在


Tags: django方法py应用程序urlfor数量过程
1条回答
网友
1楼 · 发布于 2024-04-25 00:52:14
  1. 中餐用具?您可以将process_request中的请求本身重定向或更改为lower(url)或更复杂的内容。不过,我会避免这样做,因为对于“70+应用程序”,您将创建一个显著的额外负载。

  2. 你可以配置你的网络服务器(nginx?阿帕奇?)。我相信这是个好办法。

  3. 你可以grep and sed你的来源。以防IDE不提供这样的功能。那是我肯定会喜欢的。

  4. 您可以将您的urlpatterns包装到一个方法中,该方法将在每个regex(url模式)前面应用(?i)

  5. 当然,你总是可以胡乱修补一些东西。但这是一个非常非常难看的解决方案。不过,如果你感到绝望,LocaleRegexProvider.regexurlresolvers

相关问题 更多 >