问题标签 [django-modeltranslation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
670 浏览

django - 如何使用 django-elasticsearch-dsl 将 django-modeltranslation 创建的列索引为 Elastic?

我已经用django-modeltranslation翻译了我的模型字段,并使用 django-elasticsearch -dsl实现了搜索。

问题:django-modeltranslation 在数据库中创建翻译字段,而不是在我的模型中,并且搜索仅适用于模型创建的字段。由于 django-elasticsearch-dsl 正在检查模型以重建搜索索引。

当我尝试:

python3 manage.py search_index --rebuild

我得到错误:

Django 3.0.5 django-modeltranslation & django-elasticsearch-dsl - 最新版本 elasticsearch-7.6.2 db.sqlite3 (我要迁移到 PostgreSQL)

相关的 django 文件:

我发现了一种使用其他语言进行搜索的不好方法:

  1. 在 INSTALLED APPS 中禁用 django-modeltranslation。
  2. 在模型中添加 django-modeltranslation 在 DB 中创建的所有字段。
  3. 将这些字段添加到搜索应用程序中的documents.py 以创建Elastic 索引并重新启动django 服务器
  4. 检查“$ python3 manage.py makemigrations”是否返回:“未检测到更改”。
  5. $ python3 manage.py search_index --rebuild
  6. 还原步骤 3、2、1 并重新启动 django 服务器

我需要将翻译包含到 Elasticsearch 索引中。作为开发中的菜鸟,我不知道下一步该做什么。

我有两个想法(更像是一个方向),但不知道如何实现:

  • 将 django-elasticsearch-dsl 更改为直接从数据库索引。
  • 将 django-modeltranslation 更改为能够将它在 DB 中创建的字段添加到模型中。
0 投票
2 回答
122 浏览

python - Django表单翻译中的无效语法错误

我尝试翻译我的 forms.py(占位符、选项等),但出现语法错误。我的代码在这里;

如果我这样使用,我会出现语法错误。

我如何翻译“在此处输入您的问题”和“输入投票选项”?

0 投票
1 回答
190 浏览

django - 覆盖 formfield_for_dbfield 的 Django 管理类 - 错误

我的 django 网站上有一堆 FlatPages,我想使用 django-modeltranslations pacakge 从管理员那里翻译不同语言的内容。这是我的代码:

基本上,我从默认的 FlatPageAdmin 创建了一个 TinyMCEFlatPageAdmin 类,以在管理站点上以 HTML 格式显示 Flatpage 内容。就翻译而言,我添加了以下代码:

然后我注册了新的 MyTranslatedFlatPageAdmin 类:

当我登录到平面内容页面时,我收到以下错误:

我正在努力找出原因,因为一切似乎对我来说都是正确的。在此先感谢您的帮助

0 投票
1 回答
77 浏览

django - 如何使用 django-modeltranslation 自动翻译其他语言文件

有什么方法可以自动翻译其他语言字段

在此处输入图像描述

就像在这张图片中一样,我想通过查看 (en) 字段来自动翻译 Name[pt] 、 Body[pt] 字段。

0 投票
1 回答
87 浏览

django - AJAX 请求的 Django 模型翻译

我已经安装了 Django 模型翻译包,几乎一切正常......

唯一没有的是 AJAX 请求,其 JsonResponses 仍然以原始语言返回。我在文档中找不到如何修复它。

我正在使用'django.middleware.locale.LocaleMiddleware'中间件,所以LANGUAGE_CODE选择应该基于请求中的数据(即用户的浏览器设置)。显然,AJAX 请求没有收到备忘录。

有没有办法让服务器知道从 AJAX 请求传入的 LANGUAGE_CODE(除了在 URL 中硬编码)?

0 投票
1 回答
343 浏览

django - 当我更改网站的语言时,未翻译 slug 导致 404 错误

我是 Django 的新手。我目前正在为我的第一个项目使用 2.2 版。

到目前为止一切顺利,我的网站包含一个带有产品目录的登录页面,该目录必须使用两种语言:英语和西班牙语。

我的问题是,当我尝试将 URL 从英语更改为西班牙语或从西班牙语更改为英语时,我收到 404 错误,因为产品 slug 没有被翻译。

让我解释。对于产品,我有一个英文 URL 结构:mywebsite.com/products_en/item-name_en 在西班牙语中,它是:mywebsite.com/products_es/item-name_es

只要相应的语言处于活动状态,这两个链接都可以正常工作。问题是,例如,如果我在英文产品页面上并尝试切换到西班牙文页面,它会尝试将我带到 mywebsite.com/products_es/item-name_en

我知道这个问题已经在 Stack Overflow 上被问过,但答案并没有让我找到解决方案

我怎样才能避免这种情况?先感谢您。

这是我的 urls.py

我的 products_catalog urls.py

我的产品目录views.py

我的产品目录 models.py

slug_es 是自动生成的,因为我使用 django-modeltranslation

0 投票
1 回答
274 浏览

python - 如何使用 django-modeltranslation 向模板添加翻译字段?

我正在尝试使用 django-modeltranslation 翻译我的网页。我已经在提供的文档的帮助下完成了设置,但是在将模型翻译字段显示到模板时遇到了问题。你能帮我吗?

这是我所做的。

在应用程序翻译.py 文件中

项目 urls.py 文件。

视图.py

模板文件

现在我不知道如何将这些字段显示到模板中。

0 投票
1 回答
87 浏览

python - Django激活翻译项目范围而不是每个视图?

我有一个 Django 项目,我根据Accept-Language每个视图的标题激活翻译,如下所示,

因此,如果我有一个使用 Django Rest Framework 的 ViewSet,我必须对每个方法执行上述操作,如下所示,

这只是一个视图集,我目前有 10 多个视图集,每个视图集都需要翻译。这使得该过程更加难以维护,并导致大量代码重复。如何将此代码清理为像在整个项目范围内激活翻译之类的东西,有任何可用的选项吗?

感谢您的任何意见。

0 投票
1 回答
445 浏览

django - django-modeltranslation:如何禁用显示没有翻译的语言的对象(例如帖子)?

我正在开发一个 django 多语言应用程序并使用 django-modeltranslation 来翻译模型。它工作得很好,除了一件事:当翻译不可用特定语言时,它仍然显示对象(比如说帖子)。我有一些帖子在塔吉克语中可用,而在俄语中不可用,反之亦然。

我的目标是禁止以我没有翻译的语言显示帖子。可能是通过显示 404 或任何其他方式,但它根本不应该显示帖子,而不是部分显示

这是我的设置:settings.py

翻译.py

模型.py:

我的意见.py

我对模型翻译有什么设置错误吗?如何禁用显示俄语(或塔吉克语)不可用的帖子?

0 投票
1 回答
204 浏览

django - Wagtail 模型翻译不适用于 DEBUG = False

我在缺少重定向到多语言 wagtail 网站的默认语言时遇到问题。如果我开始DEBUG = False生产,我得到了Internal server error,因为不存在使用语言后缀重定向到 url。如果DEBUG = True一切正常。

我在用着wagtail_modeltranslation

https://progtribe.com/ - 不工作 https://progtribe.com/uk - 工作

我使用 Wagtail、Gunicorn、Nginx

在我的错误日志中,我只看到 在此处输入图像描述

来自 gunicorn 的日志: 在此处输入图像描述

如果我设置 DEBUG = True 那么我得到 302 状态码并且一切正常 在此处输入图像描述