Django:i18n - 更改语言

2023-11-22

我安装了 model_translation、rosetta、locale_url。但改变语言不起作用。

我的设置.py:

LANGUAGE_CODE = 'ru'
MODELTRANSLATION_TRANSLATION_REGISTRY = "project.translation"
TRANSLATION_REGISTRY = "project.translation"
ugettext = lambda s: s
LANGUAGES = (
    ('ru', ugettext(u'Russian')),
    ('uk', ugettext(u'Ukrainian')),
)

我对语言切换的看法:

def set_language(request):
    next = request.REQUEST.get('next', None)
    if not next:
        next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = '/'
    response = http.HttpResponseRedirect(next)
    if request.method == 'GET':
        lang_code = request.GET.get('language', None)
        if lang_code and check_for_language(lang_code):
            if hasattr(request, 'session'):
                request.session['django_language'] = lang_code
            else:
                response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code)
    return response

在模板中:

<a href="{% url set_lang %}?lang=uk&next={{request.path}}">Ukranian</a>

我的中间件:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'localeurl.middleware.LocaleURLMiddleware',
    'django.middleware.common.CommonMiddleware',  
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.csrf.CsrfResponseMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

但语言切换不起作用。如果我打开链接http://localhost/uk/语言开关,但是当切换到另一个页面时-语言又恢复为默认语言。 我应该怎么办?


将 Translation.activate 添加到您的代码中:

from django.utils import translation

def set_language(request):
    next = request.REQUEST.get('next', None)
    if not next:
        next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = '/'
    response = http.HttpResponseRedirect(next)
    if request.method == 'GET':
        lang_code = request.GET.get('language', None)
        if lang_code and check_for_language(lang_code):
            if hasattr(request, 'session'):
                request.session['django_language'] = lang_code
            else:
                response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code)
            translation.activate(lang_code)
    return response
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:i18n - 更改语言 的相关文章

  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 忽略 Mercurial hook 中的某些 Mercurial 命令

    我有一个像这样的善变钩子 hooks pretxncommit myhook python path to file myhook 代码如下所示 def myhook ui repo kwargs do some stuff 但在我的例子中
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • Matlab实时绘图

    我是 matlab 新手 我想实时绘制一些数据 我的方法如下 figure hold on for i 1 1000 plot i i drawnow end 但其性能较差 我还在 stackoverflow 上找到了一个建议 https
  • 我可以在canvas元素中绘制表格吗?

    有没有什么方法 插件 工作解决方案等 来绘制HTML table into a
  • 使用 Objective-C 对字符串进行 URLEncoding

    我正在尝试对字符串进行 URL 编码以形成来自 Objective C 的 GET 请求 NSString params Decoded data foo bar baz NSRunAlertPanel Error params urlEn
  • 什么是应用程序加载器中的托管内容包?

    我想为我的应用程序启用应用程序内购买 购买类型是非消耗品我用 Apple 标记了主机内容 当我想通过 Apple 托管内容时 我需要提供托管内容包 我无法找到此内容包中应包含哪些内容的更多信息 但它不能大于 2GB 并且扩展名应该是 pkg
  • Java中字符串到二进制输出

    我想从字符串中获取二进制 011001 但我得到了 B addbf1 必须有一个简单的转换来做到这一点 但我没有看到它 public static String toBin String info byte infoBin null try
  • 可以在同一台机器上安装两个不同版本的Android Studio吗?

    我只有一台机器 Mac OS 10 9 5 我目前拥有 Android Studio 的金丝雀版本 但遇到了一些错误 所以我也想安装稳定版的Android Studio 有人这样做过吗 在同一台机器上安装多个版本是否有问题 是的 但您必须更
  • 如何为 binned_statistic 制作用户定义的函数

    我正在使用 scipy stats 包沿轴进行统计 但我在使用百分位统计时遇到问题binned statistic 我概括了下面的代码 我尝试在一系列 x bin 中获取具有 x y 值的数据集的第 10 个百分位数 但它失败了 我当然可以
  • Java 7 Update 25 的 rmi 线程中的 AppContext 为 null

    我们最近从 Update 21 更新到 Java 7 Update 25 并且现在在从 rmi 线程调用 SwingUtilities isEventDispatchThread 时遇到空指针异常 因为 AppContext getAppC
  • 7 段显示 OCR

    我正在使用 Tesseract 一个 OCR 库 构建一个 iOS 应用程序 拍照并在其上运行 OCR 并且它可以很好地处理书写良好的数字和字符 使用常用字体 我遇到的问题是 如果我在 7 段显示器上尝试 它会给出非常非常糟糕的结果 所以我
  • zend 文本元素中的占位符文本

    我正在开发一个 Zend 表单应用程序 其中我的表单包含带有水印的文本框 我们可以通过以下代码在 HTML 中实现这一点
  • 如何在wpf文本块中显示一行文本

    我是 wpf 的新手 我想在 wpf 文本块中的一行中显示文本 例如
  • .net 的替代 Oracle 驱动程序

    我必须用 C 开发一个工具来从 Oracle DB 检索一些数据 由于我们的 IT 支持人员在安装 Oracle 客户端时遇到了一些问题 因此我希望能够在不安装客户端的情况下连接到数据库 这个想法是只安装 也许注册 一个额外的库与应用程序一
  • 如何在 TypeORM 中查询数组

    我想创建用户权限管理 我将 TypeORM 与 PostgreSQL 结合使用 这是用户实体内权限的列定义 Column type text array true permissions UserPermission 这是UserPermi
  • 从 Bash 中的文件中读取行并将单词解析为 mailx 参数的变量

    我有一个 bash 脚本 它从 4 列 无标题 的文本文件中读取行 行数最多可以为 4 行或更少 每行中的单词由空格字符分隔 email protected email protected email protected Sub1 Mail
  • PyCharm IPython 控制台中的嵌入式图表

    有没有办法允许在 PyCharm 中激活的 IPython 控制台中嵌入 Matplotlib 图表 我正在寻找与 IPython 的 QT 控制台版本可以完成的类似行为 即ipython qtconsole matplotlib inli
  • 将自定义 HTML Helper 添加到 MVC 项目

    我一直在浏览网页 试图找到一个很好的示例 教程 详细说明如何为我的 MVC 3 Razor 应用程序创建和使用我自己的自定义 HTML 帮助程序 我发现了这个示例 教程 如下所示 在 ASP NET MVC 3 中添加您自己的 HtmlHe
  • 哪些 SDK 可用于创建 iPad/iPhone 离线地图应用程序?

    我们正在使用 Cloudmade SDK 开发适用于 iPad 的离线城市地图应用程序 我很好奇 是否还有其他可用于离线应用程序的 SDK 对我来说更好的解决方案是 1 生成您自己的地图TileMill从 Mapbox 导出 然后导出为 M
  • 在 Angular 6 项目中使用 jquery 库好吗?

    我正在创建一个 Angular 6 项目 该项目之前使用 jquery 开发 现在我陷入困境 好像在 Angular 6 中使用 jquery 很好 或者我应该删除所有 jquery 代码并将其替换为 Angular 不 这不是一个好主意
  • 初始化器列表返回的生命周期扩展

    所以我有一个 lambda 其返回类型是auto我在阵列支持方面遇到问题initializer list在这里被摧毁 const auto foo const auto a const auto b const auto c return
  • Django:i18n - 更改语言

    我安装了 model translation rosetta locale url 但改变语言不起作用 我的设置 py LANGUAGE CODE ru MODELTRANSLATION TRANSLATION REGISTRY proje