问题标签 [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.
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 文件:
我发现了一种使用其他语言进行搜索的不好方法:
- 在 INSTALLED APPS 中禁用 django-modeltranslation。
- 在模型中添加 django-modeltranslation 在 DB 中创建的所有字段。
- 将这些字段添加到搜索应用程序中的documents.py 以创建Elastic 索引并重新启动django 服务器
- 检查“$ python3 manage.py makemigrations”是否返回:“未检测到更改”。
- $ python3 manage.py search_index --rebuild
- 还原步骤 3、2、1 并重新启动 django 服务器
我需要将翻译包含到 Elasticsearch 索引中。作为开发中的菜鸟,我不知道下一步该做什么。
我有两个想法(更像是一个方向),但不知道如何实现:
- 将 django-elasticsearch-dsl 更改为直接从数据库索引。
- 将 django-modeltranslation 更改为能够将它在 DB 中创建的字段添加到模型中。
python - Django表单翻译中的无效语法错误
我尝试翻译我的 forms.py(占位符、选项等),但出现语法错误。我的代码在这里;
如果我这样使用,我会出现语法错误。
我如何翻译“在此处输入您的问题”和“输入投票选项”?
django - 覆盖 formfield_for_dbfield 的 Django 管理类 - 错误
我的 django 网站上有一堆 FlatPages,我想使用 django-modeltranslations pacakge 从管理员那里翻译不同语言的内容。这是我的代码:
基本上,我从默认的 FlatPageAdmin 创建了一个 TinyMCEFlatPageAdmin 类,以在管理站点上以 HTML 格式显示 Flatpage 内容。就翻译而言,我添加了以下代码:
然后我注册了新的 MyTranslatedFlatPageAdmin 类:
当我登录到平面内容页面时,我收到以下错误:
我正在努力找出原因,因为一切似乎对我来说都是正确的。在此先感谢您的帮助
django - AJAX 请求的 Django 模型翻译
我已经安装了 Django 模型翻译包,几乎一切正常......
唯一没有的是 AJAX 请求,其 JsonResponses 仍然以原始语言返回。我在文档中找不到如何修复它。
我正在使用'django.middleware.locale.LocaleMiddleware'
中间件,所以LANGUAGE_CODE
选择应该基于请求中的数据(即用户的浏览器设置)。显然,AJAX 请求没有收到备忘录。
有没有办法让服务器知道从 AJAX 请求传入的 LANGUAGE_CODE(除了在 URL 中硬编码)?
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
python - 如何使用 django-modeltranslation 向模板添加翻译字段?
我正在尝试使用 django-modeltranslation 翻译我的网页。我已经在提供的文档的帮助下完成了设置,但是在将模型翻译字段显示到模板时遇到了问题。你能帮我吗?
这是我所做的。
在应用程序翻译.py 文件中
项目 urls.py 文件。
视图.py
模板文件
现在我不知道如何将这些字段显示到模板中。
python - Django激活翻译项目范围而不是每个视图?
我有一个 Django 项目,我根据Accept-Language
每个视图的标题激活翻译,如下所示,
因此,如果我有一个使用 Django Rest Framework 的 ViewSet,我必须对每个方法执行上述操作,如下所示,
这只是一个视图集,我目前有 10 多个视图集,每个视图集都需要翻译。这使得该过程更加难以维护,并导致大量代码重复。如何将此代码清理为像在整个项目范围内激活翻译之类的东西,有任何可用的选项吗?
感谢您的任何意见。
django - django-modeltranslation:如何禁用显示没有翻译的语言的对象(例如帖子)?
我正在开发一个 django 多语言应用程序并使用 django-modeltranslation 来翻译模型。它工作得很好,除了一件事:当翻译不可用特定语言时,它仍然显示对象(比如说帖子)。我有一些帖子在塔吉克语中可用,而在俄语中不可用,反之亦然。
我的目标是禁止以我没有翻译的语言显示帖子。可能是通过显示 404 或任何其他方式,但它根本不应该显示帖子,而不是部分显示
这是我的设置:settings.py
翻译.py
模型.py:
我的意见.py:
我对模型翻译有什么设置错误吗?如何禁用显示俄语(或塔吉克语)不可用的帖子?
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