首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django中的数据库本地化

Django中的数据库本地化
EN

Stack Overflow用户
提问于 2011-07-08 10:45:43
回答 3查看 2.4K关注 0票数 3

我在Django中使用.mo文件进行本地化。此外,在我的数据库中,我将一些翻译后的文本存储在不同的字段中,例如:

name_en, name_es, name_de (它们都是每行中的列)。

在模板中选择正确字段的最佳方法是什么?

即:{{ name.some_method }}将基于当前本地化生成正确的翻译。

谢谢,

Meit

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-08 11:39:50

我可以看到两种方法,一种在你的视图中,另一种在模板中…

视图中的

你可能会把用户语言信息放在某个地方,

代码语言:javascript
运行
AI代码解释
复制
user_lang = 'es'
obj = Somemodel.objects.get(pk=123434)
obj.local_name = getattr(obj, 'name_%s'%user_lang)

因此,您可以将本地翻译保存在实例的特定变量中,并且在您的模板中可以使用:

代码语言:javascript
运行
AI代码解释
复制
{{obj.local_name}}

但是,如果您希望向模板传递一个查询集而不是单个实例,那么这样做的代价可能会很高。对于这样的用法,您必须计算查询集中每个对象的值。

模板中的

这是解决模板中问题的一种更复杂的方法...

定义一个template tag并传递object_id和本地语言信息,然后使用类似的getattr函数获取翻译后的文本。但在这一点上,如果您希望将其用于多个模型,则可能还需要为模板标记传递一个content type information,例如:

代码语言:javascript
运行
AI代码解释
复制
{% get_translation <object_id> <content_type_id> <local_language> %}

在您的模板标记函数中,执行如下操作:

代码语言:javascript
运行
AI代码解释
复制
from django.contrib.contenttypes.models import ContentType

....
cont_obj = Content_type.objects.get_for_id(<cotent_type_id>) #get the related model 
obj = cont_obj.get_object_for_this_type(pk=<object_id>) # get your object 
return getattr(obj, 'name_%s'%<local_language>)
票数 0
EN

Stack Overflow用户

发布于 2015-10-14 20:57:03

您应该看看http://goodcode.io/articles/django-multilanguage/,这是一个简单的解决方案,它可能适合您的用例,并且易于实现和理解。

票数 3
EN

Stack Overflow用户

发布于 2011-07-08 13:38:41

您应该看看Django Transmeta,它的工作方式与您所做的相同(使用语言代码的DB字段),但它是一个更完整的解决方案。它已经处理了模板之类的东西。

你可以在Model InternationalizationDjango Packages上找到更多关于这个领域的信息和想法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6623373

复制
相关文章
PHP的URL处理
完整URL地址: http://username:password@hostname/path?arg=value#auchor 协议:http:// 用户名和密码: username:passw
Java架构师必看
2021/03/22
3.8K0
webpack处理url资源的配置
webpack处理url资源的配置 1.安装 npm i url-loader -D 2.修改webpack.config.js const path = require('path'); // 启用热更新的 第2步 const webpack = require('webpack') //导入html插件 //只要是插件,都一定要放到plugins节点中去 const htmlWebpackPlugin = require('html-webpack-plugin') // 这个配置文件,起始就是一个 J
Dream城堡
2018/12/12
7510
java url加密_Java实现url加密处理的方法示例
public static String crypt(String content,String password,int i){
全栈程序员站长
2022/11/01
1.7K0
nginx配置实现ip访问指定URL
我的需求是这样的,nginx+uwsgi启动的web服务,访问域名XX.CN之后,nginx报错404,我需要实现的是访问XX.CN,自动映射到XX.CN/login 因为我server是80端口,所以不需要加端口即可访问
cywhat
2022/11/22
2.6K0
将CSV的数据发送到kafka(java版)
前面的图可以看出,读取CSV再发送消息到kafka的操作是Java应用所为,因此今天的主要工作就是开发这个Java应用,并验证;
程序员欣宸
2021/04/16
3.5K0
将CSV的数据发送到kafka(java版)
nginx反向代理到后端tomcat,并将IP地址发送到后端的配置
/usr/local/nginx/conf/nginx.conf 在http段不要有下面4行:
保持热爱奔赴山海
2019/09/18
1.3K0
URL处理----拼接和编码
        前几天想爬取一个用户网站自动创建每个用户的资料方便注册一些账号,想写一个通用点的爬虫程序爬取只要配置一些爬取规则、爬取深度就ok,避免代码改动,由于时间关系只完成的个半成品,后面在考虑是用xml文件作为配置文件,还是简单的使用.ini文件,后者虽然简单但局限性太大,所以,,,偷几天懒顺便重新考虑下逻辑。
py3study
2020/01/19
1.4K0
PHP 获取 IP 地址形式的完整 URL 页面网址
PHP 获取包含端口号的完整 URL 中,$_SERVER 有些写法只能获取域名形式的 URL ,采用 IP 地址的 URL 是获取不到的。
Yangsh888
2022/03/23
2.2K0
GPS之 NMEA-0183协议
NMEA0183的六种输出协议:GPGGA、GPGLL、GPGSA、GPGSV、GPRMC、GPVTG。
心跳包
2020/08/31
3K0
VB.NET URL(域名)转IP地址
我在脑中快速回忆着,对了!URL即 Uniform Resource Locator的缩写,翻译成中文便是“统一资源定位符”。因为互联网世界存在着不计其数的资源,每一处资源都需要有一个标记来定位它,正如人类城市中的门牌号。
办公魔盒
2020/04/27
15.3K1
VB.NET URL(域名)转IP地址
前端处理动态 url 和 pushStatus 的使用
起因是这样的,在尝试前后端分离的这条道路上,我自己也在不断摸索,感觉要把大部分的坑都踩踩了。目前我用的技术是:
零式的天空
2022/03/22
1.3K0
完整的url以及同源跨域处理
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。
用户7657330
2020/08/14
8430
Python技巧_处理带参数的超长URL
今天写了个脚本 主要就是实现利用SQLInj点直接把数据获取到本地并存到Mysql数据库中
py3study
2020/01/09
1.3K0
(1)当你输入URL到页面显示经历了什么--URL到IP地址
这是一个经典的问题,能区分知识的广度与深度,从回答的侧重点上甚至能区分出工种(前端、后端、运维等)。开发人员基本上都能说出几点,而牛人更可在自己擅长的地方发挥到淋漓尽致。 由于知识有限,我只从下面四点
前端黑板报
2018/01/29
1.1K0
(1)当你输入URL到页面显示经历了什么--URL到IP地址
Django如何处理URL请求
视图函数是一个用来接收浏览器请求(HttpRequest)对象并通过HttpRequest对象返回响应函数。此函数可以接收浏览器请求并根据业务逻辑返回相应的内容.
Yuou
2022/09/26
1.9K0
Django获取URL中的数据
我们将第一种形式称为“URL路径参数”;第二种形式称为“URL关键字形式”。下面讲述如何在Django中获取这两种形式的数据。
zy010101
2021/11/02
5.7K0
nmealib解析-----(3)---
/*  *  * NMEA library  * URL: http://nmea.sourceforge.net  * Author: Tim (xtimor@gmail.com)  * Licence: http://www.gnu.org/licenses/lgpl.html  * $Id: time.h 4 2007-08-27 13:11:03Z xtimor $  *  */ /*! \file */ //该函数主要是对于nmea时间的处理 #ifndef __NMEA_TIME_H__ #de
py3study
2020/01/08
7590
Python:ip地址处理模块
安装 1.先下载源码,地址:https://pypi.python.org/pypi/IPy/,然后解压后使用命令python setup.py install安装。 2.或者直接使用pip install ipy进行安装 使用 查看IP地址版本 >>> IPy.IP('192.168.1.1').version() 4 >>> IPy.IP('::1').version() 6 计算网段IP数量 #!/usr/bin/env python #coding:utf-8 import IPy   ip =
行 者
2018/03/26
1.6K0
为什么 url 通常使用域名而不是 IP 地址?
大家好,我是前端西瓜哥。今天来谈谈为什么我们的网址,通常是使用域名,而不是 IP 地址。
前端西瓜哥
2022/12/21
1.8K0
懒人的小技巧, 批处理修改IP
相信很多人都有这样的麻烦, 工作单位的IP网段与住的不一致, 自己的笔记本在单位和回家的时候每次都要更改IP, 很麻烦,  菜鸟小罗偷个懒, 做了个批处理来修改IP,方便一点. 还有就是可以把工作的时候才需要启动的服务( 比如数据库服务特别是Oracle ,sqlserver) 设置为手动, 只有更换为单位IP的时候才启动它, 平时在家玩的时候也可以节省点资源. 将下面的文本做成bat, IP改为自己用的IP就可以了. @echo off color e setlocal enabledelayed
FlyLolo
2018/05/17
1.6K0

相似问题

将浮点数设置为左时图像消失

14

当FlowDirection设置为RightToLeft时,文本消失

11

文本在单击时消失,但新输入的文本将消失为

55

将Navbar设置为默认值

13

当我将` to zingMaskIntoConstraints`设置为`NO`时,视图消失

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文