首页
学习
活动
专区
工具
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.

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

相关·内容

  • 领券