首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django - 如何使翻译工作?

Django 是一款基于 Python 的 Web 开发框架,它具有高效、稳定、安全的特点,并且拥有丰富的第三方库和组件,使得开发者可以快速地构建出健壮、可扩展的 Web 应用。

在 Django 中,翻译工作可以通过使用 Django 国际化(I18N)系统来完成。该系统包括一个名为 django.contrib.translation 的插件,可以用于将应用程序中的文本内容翻译成多种语言。

以下是 Django 中翻译工作的基本步骤:

  1. 在应用程序的 INSTALLED_APPS 中添加 django.contrib.translation 插件。INSTALLED_APPS = [ ... 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.translation', 'myapp', 'rest_framework', 'rest_framework.authtoken', 'corsheaders', 'djcelery', 'kombu.transport.django', ]MIDDLEWARE = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.translation.middleware.TranslationMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'myapp.middleware.LocaleMiddleware', 'rest_framework.middleware.IdentityMiddleware', 'rest_framework.middleware.HeaderMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware' ]ROOT_URLCONF = 'myproject.urls'
  2. 在应用程序的 MIDDLEWARE 中将 django.contrib.sessions.middleware.SessionMiddleware 替换为 django.contrib.translation.middleware.TranslationMiddleware
  3. 在应用程序的 ROOT_URLCONF 中添加 django.urls.i18n 参数。

TEMPLATES = [

代码语言:txt
复制
{
代码语言:txt
复制
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
代码语言:txt
复制
    'DIRS': [],
代码语言:txt
复制
    'APP_DIRS': True,
代码语言:txt
复制
    'OPTIONS': {
代码语言:txt
复制
        'context_processors': [
代码语言:txt
复制
            'django.template.context_processors.debug',
代码语言:txt
复制
            'django.template.context_processors.request',
代码语言:txt
复制
            'django.contrib.auth.context_processors.auth',
代码语言:txt
复制
            'django.contrib.messages.context_processors.messages',
代码语言:txt
复制
        ],
代码语言:txt
复制
    },
代码语言:txt
复制
},

]

WSGI_APPLICATION = 'myproject.wsgi.application'

Database

https://docs.djangoproject.com/en/4.0/ref/settings/#databases

DATABASES = {

代码语言:txt
复制
'default': {
代码语言:txt
复制
    'ENGINE': 'django.db.backends.sqlite3',
代码语言:txt
复制
    'NAME': BASE_DIR / 'db.sqlite3',
代码语言:txt
复制
}

}

Internationalization

https://docs.djangoproject.com/en/4.0/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True

Password validation

https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [

{

'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',

},

{

'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',

},

]

Static files (CSS, JavaScript, Images)

https://docs.djangoproject.com/en/4.0/howto/static-files/

STATIC_URL = 'static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

MEDIA FILES

MEDIA_ROOT = os.path.join(BASE_DIR, "media")

MEDIA_URL = "/media/"

Default primary key field type

https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Django 1.11官方教程翻译

    感觉人还是要逼一下自己,所以就有了这篇翻译。如果有翻译错误的地方欢迎在评论中指正。 Let’s learn by example....如果这是你第一次使用Django,你需要做一些初始化工作,也就是说我们会自动生成一些代码来帮你建立一个Django 项目 。主要是一些配置信息,包括数据库配置、Django选项和特定的应用程序设置。...Django settingswill tell you all about how settings work. mysite/settings.py:设置/配置这个Django项目,点击 这里 查看配置是如何工作的...现在你的环境已经配置完毕,你已经创建了一个项目,现在你要为这个项目添砖加瓦,使它运作起来。...然而在实际工作中,你不需要成为一个正则专家,因为你只需要如何去捕捉简单的字段就好,事实上,复杂的正则表达式在性能上通常表现不能令人满意,所以,不建议你完全依赖正则表达式。

    1.6K60

    django 1.8 官方文档翻译:6-3 Django异常

    Django异常 DJango会抛出一些它自己的异常,以及Python的标准异常。 Django核心异常 Django核心异常类定义在django.core.exceptions中。...Changed in Django 1.8: 之前的版本中,异常只在django.db.models.fields中定义,并不是公共API的一部分。...Database Exceptions 数据库异常由django.db导入。 Django封装了标准的数据库异常,以便确保你的DJango代码拥有这些类的通用实现。...Python异常 Django在适当的时候也会抛出Python的内建异常。进一步的信息请见内建的异常的Python文档。 译者:Django 文档协作翻译小组,原文:Overview。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    1.3K20

    django 1.8 官方文档翻译: 13-9-1 如何使用会话

    如何使用会话 Django 提供对匿名会话的完全支持。其会话框架让你根据各个站点的访问者存储和访问任意数据。它在服务器端存储数据并抽象Cookie 的发送和接收。...其它方式的会话后端在服务器端保存每个会话并在用户登出时使它无效,基于Cookie 的会话在用户登出时不会失效。...我们使用这个例子来演示如何利用会话对象来工作,而不是一个完整的logout()实现。 设置测试的Cookie 为了方便,Django 提供一个简单的方法来测试用户的浏览器时候接受Cookie。...译者:Django 文档协作翻译小组,原文:Sessions。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    1.2K20

    谷歌最新翻译系统使错误率减少85%

    已参加或正在参加外语课程并使用过谷歌翻译的学生,可能对其语言转换工具的不太完美翻译表现很熟悉。谷歌推出了一个新的系统,利用最先进的技术将翻译错误减少了约55%到85%。...新推出的谷歌神经机器翻译(GNMT)系统提供“端到端的自动翻译方法,有可能克服许多传统的基于短语的翻译系统的弱点”。...总体上讲,神经机器翻译(NMT)系统的工作模式是将整个输入句子看做一个单位进行翻译,不像其他的NMT系统会遇到生僻字的麻烦,因此GMNT能够提供更准确和更快速的翻译。...谷歌宣称GNMT系统所产生的译文质量相比之前的基于短语的翻译系统有了极大的提高。...目前,谷歌翻译只将GNMT系统用于中英文翻译——可以在每天帮助世界各地的大约1800万次翻译—但该公司计划在未来几个月内将GMNT系统推广到更多语言。

    881130

    如何使 Grafana as code

    演讲中,两人讨论了如何使用代码来管理您的 Grafana 实例,并介绍了一些使用 Jsonnet[1] 的秘诀和技巧以及 Grafonnet[2](一个用于生成 Grafana Dashboard 的...这些时候,确保 Dashboard 正常工作且好看不再是一个简单的过程了。...而当更新那些文件时,Grafana 会自动读取它们并更新 Dashboard,这真的很棒,您可以对文件进行编码并使 Dashboard 内容与的文件配置保持一致。...这些代码“功能非常强大”,其使您拥有了拓展更多内容的能力。 Imports Jsonnet 不仅可以创建函数,还可以将写好的函数 Import 到文件中。 ?...未来 Holmes 说,在 Grafana Lab 内部已经有不少关于如何能让 Grafana 实例作为代码被管理得更好的讨论。我们相信这很有用,讨论已经带来了很多点子。

    1.6K10

    django 1.8 官方文档翻译: 6-6-1 部署 Django

    部署 Django 虽然Django 满满的便捷性让Web 开发人员活得轻松一些,但是如果不能轻松地部署你的网站,这些工具还是没有什么用处。Django 起初,易于部署就是一个主要的目标。...有许多优秀的方法可以轻松地来部署Django如何使用WSGI 部署 部署的检查清单 FastCGI 的支持已经废弃并将在Django 1.9 中删除。...如何使用FastCGI、SCGI 和AJP 部署Django 如果你是部署Django 和/或 Python 的新手,我们建议你先试试 mod_wsgi。...译者:Django 文档协作翻译小组,原文:Overview。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    23720

    django 1.8 官方文档翻译: 6-6-2 如何使用WSGI 部署

    如何使用WSGI 部署 Django 首要的部署平台是WSGI,它是Python Web 服务器和应用的标准。...Django 包含以下WSGI 服务器的入门文档: 如何使用Apache 和mod_wsgi 部署Django 从Apache 中利用Django 的用户数据库进行认证 如何使用Gunicorn 部署Django...这是runserver 如何找到默认的settings 文件的机制。 注 因为环境变量是进程范围的,当你在同一个进程中运行多个Django 站点时,它将不能工作。...译者:Django 文档协作翻译小组,原文:WSGI servers。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    39920

    如何使JavaScript更高效

    来自:众成翻译 译者:边城 原文:www.zcfy.cc/article/dev-opera-efficient-javascript-2320.html 传统的 Web 页面不会包含很多脚本,...避免检索大量节点 在试图找到某个特定节点,或者某个节点的子集时,应该使用内置的方法和 DOM 集合来缩小搜索范围,使之在尽可能少的节点内进行搜索。...它的工作原理是先建立一个静态元素列表用于修改,然后遍历这个静态列表来进行修改。以此避免对 getElementsByTagName 返回的列表进行修改。...这就包括了在表单提交时禁用表单控件、菜单项被点击之后就不再有效、离开页面时的淡出效果使内容模糊不清或不可见。...使用 onunload 监听器是比较简单的解决办法,可以通过它重置淡出效果,或者使表单控件变为可用。

    1.6K10

    django 1.8 官方文档翻译: 6-1-1 Django 的设置

    Django 的设置 Django 的设置文件包含你安装的Django 的所有配置。这页文档解释设置是如何工作以及有哪些设置。 基础 设置文件只是一个Python 模块,带有模块级别的变量。...指定设置文件 DJANGO_SETTINGS_MODULE 当你使用Django 时,你必须告诉它你正在使用哪个设置。这可以使用环境变量DJANGO_SETTINGS_MODULE 来实现。...当你在一个更大的应用中使用到Django 框架的一部分,有必要以这种方式配置Django —— 而且实际上推荐这么做。...译者:Django 文档协作翻译小组,原文:Overview。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    47130

    django 1.8 官方文档翻译: 3-5-2 使用Django输出PDF

    使用Django输出PDF 这篇文档阐述了如何通过使用Django视图动态输出PDF。这可以通过一个出色的、开源的Python PDF库ReportLab来实现。...这样就强制让浏览器弹出对话框来提示或者确认,如果机器上设置了默认值要如何处理文档。如果你去掉了'attachment;',无论什么程序或控件被设置为用于处理PDF,浏览器都会使用它。...在Django中使用它的方法和这篇文章所阐述的相同。 Pisa XHTML2PDF是另一个PDF生成库。Pisa自带了如何将 Pisa 集成到 Django的例子。...关于用于生成基于文本的格式的其它例子和技巧,另见使用Django输出CSV。 译者:Django 文档协作翻译小组,原文:Generating PDF。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    1K40

    django 1.8 官方文档翻译:6-5-1 Django中的测试

    Django中的测试 自动化测试对于现代web开发者来说,是非常实用的除错工具。...你可以使用一系列测试– 测试套件 – 来解决或者避免大量问题: 当你编写新代码的时候,你可以使用测试来验证你的代码是否像预期一样工作。...在Django中编写测试的最佳方法是,使用构建于Python标准库的unittest模块。这在编写和运行测试 文档中会详细介绍。...编写和运行测试 测试工具 高级测试话题 译者:Django 文档协作翻译小组,原文:Introduction。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    33020

    django 1.8 官方文档翻译: 3-1-3 Django 的快捷函数

    Django 1.8 的改变: context 参数之前叫做dictionary。这个名字在Django 1.8 中废弃并将在Django 2.0 中删除。...关于如何查找模板的更多信息请参见 模板加载的文档 。 可选的参数 context 添加到模板上下文中的字典。默认是个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。...Changed in Django 1.8: context 参数之前叫做dictionary。 这个名字在Django 1.8 中废弃并将在Django 2.0 中删除。...译者:Django 文档协作翻译小组,原文:Shortcuts。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    82020
    领券