gpt4 book ai didi

python - 使用中间件将 Django 应用排除在本地化之外

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:07 24 4
gpt4 key购买 nike

我需要本地化一个 django 项目,但只保留其中一个应用程序(博客)的英文。

我写这个中间件是为了实现这个:

from django.conf import settings
from django.core.urlresolvers import resolve

class DelocalizeMiddleware:
def process_request(self, request):
current_app_name = __name__.split('.')[-2]
match = resolve(request.path)
if match.app_name == current_app_name:
request.LANGUAGE_CODE = settings.LANGUAGE_CODE

问题是,它假定中间件直接位于应用程序模块(例如 blog/middleware.py)中以检索应用程序名称。其他项目可能在 blog/middleware/delocalize.py 或其他地方有中间件。

检索当前运行的应用名称的最佳方法是什么?

最佳答案

您可以使用 Django 的 resolve 函数来获取当前的应用程序名称。

https://docs.djangoproject.com/en/dev/topics/http/urls/#resolve

关于python - 使用中间件将 Django 应用排除在本地化之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com