2024-04-25 00:52:14 发布
网友
我正在使用一个相当大的Django设置,其中有70多个应用程序。最近的一个请求是让它与不区分大小写的url一起工作。有没有办法让它里面的每个应用都使用不区分大小写的URL而不必更改网址.py对于每个应用程序?在
让单个应用不区分大小写是一个相当简单的过程(例如:Case insensitive urls for Django?),但是考虑到应用程序的数量,有没有更好的方法(例如中间件)来实现这一点?在
中餐用具?您可以将process_request中的请求本身重定向或更改为lower(url)或更复杂的内容。不过,我会避免这样做,因为对于“70+应用程序”,您将创建一个显著的额外负载。
lower(url)
你可以配置你的网络服务器(nginx?阿帕奇?)。我相信这是个好办法。
你可以grep and sed你的来源。以防IDE不提供这样的功能。那是我肯定会喜欢的。
您可以将您的urlpatterns包装到一个方法中,该方法将在每个regex(url模式)前面应用(?i)。
urlpatterns
(?i)
当然,你总是可以胡乱修补一些东西。但这是一个非常非常难看的解决方案。不过,如果你感到绝望,LocaleRegexProvider.regex在urlresolvers
LocaleRegexProvider.regex
中餐用具?您可以将process_request中的请求本身重定向或更改为
lower(url)
或更复杂的内容。不过,我会避免这样做,因为对于“70+应用程序”,您将创建一个显著的额外负载。你可以配置你的网络服务器(nginx?阿帕奇?)。我相信这是个好办法。
你可以grep and sed你的来源。以防IDE不提供这样的功能。那是我肯定会喜欢的。
您可以将您的
urlpatterns
包装到一个方法中,该方法将在每个regex(url模式)前面应用(?i)
。当然,你总是可以胡乱修补一些东西。但这是一个非常非常难看的解决方案。不过,如果你感到绝望,
LocaleRegexProvider.regex
在urlresolvers相关问题 更多 >
编程相关推荐