我想为项目添加国际化,所以我使用 django-modeltranslation 应用程序。但是,在完成配置和运行迁移的所有步骤之后,当我进入我的管理员时,模型已注册,但是当我单击它时:
“您的数据库安装有问题。确保已创建适当的数据库表,并确保适当的用户可以读取数据库。”
这是代码(请注意,为清楚起见,我已将其全部放在文件中):
INSTALLED_APPS = [
'modeltranslation',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'nuggets',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'Trans',
'USER': 'postgres',
'PASSWORD': 'c1l2a3u4',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
gettext = lambda s: s
LANGUAGES = (
('en', gettext('English')),
('es', gettext('Spanish')),
)
#Models code
from django.db import models
class News(models.Model):
title = models.CharField(max_length=255)
text = models.TextField()
#Admin code
from django.contrib import admin
from .models import News
from modeltranslation.admin import TranslationAdmin
class NewsAdmin(TranslationAdmin):
pass
admin.site.register(News, NewsAdmin)
#translation.py code
from modeltranslation.translator import translator, TranslationOptions
from .models import News
class NewsTranslationOptions(TranslationOptions):
fields = ('title', 'text',)
translator.register(News, NewsTranslationOptions)
我在创建模型之前尝试过,之后使用默认数据库,使用 postgre ......似乎没有任何工作,请帮助!