【发布时间】:2019-06-05 11:00:51
【问题描述】:
我正在尝试使用 divio - django-cms, 但是每当我尝试连接到本地服务器时,都会因为我的本地语言而出错。
我试图删除 settings.py 的语言代码 sn-ps 但徒劳无功,因为它引发了另一个类似的错误
TypeError at /
string indices must be integers
**Request Method: GET
Request URL: http://54.180.150.144:52761/
Django Version: 1.11.21
Exception Type: TypeError
Exception Value:
string indices must be integers
Exception Location: /workspace/heydj/venv/lib/python3.6/site-packages/cms/utils/conf.py in _ensure_languages_settings, line 205
Python Executable: /workspace/heydj/venv/bin/python3
Python Version: 3.6.5
Python Path:
['/workspace/djcms_r',
'/workspace/heydj/venv/lib/python36.zip',
'/workspace/heydj/venv/lib/python3.6',
'/workspace/heydj/venv/lib/python3.6/lib-dynload',
'/usr/local/lib/python3.6',
'/workspace/heydj/venv/lib/python3.6/site-packages']
Server time: WED, 5 July 2019 10:47:35 +0000**
在 settings.py 中是这样的:
""" {
'code': 'RU',
'name': gettext('RU'),
'redirect_on_fallback': True,
'public': True,
'hide_untranslated': False,
},"""
当我更改代码时,它会引发另一个错误,例如找不到页面 使用 djcms_r.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
^media/(?P<path>.*)$
^static\/(?P<path>.*)$
^sitemap\.xml$
^ko/ ^admin/
^ko/ ^ ^cms_login/$ [name='cms_login']
^ko/ ^ ^cms_wizard/
^ko/ ^ ^(?P<slug>[0-9A-Za-z-_.//]+)/$ [name='pages-details-by-slug']
^ko/ ^ ^$ [name='pages-root']
当前路径 /ko/ 与其中任何一个都不匹配。
我尝试使用“export LC_ALL=C”更改 linux 语言
但它也不起作用。
如何解决此错误? 谢谢
LANGUAGES = (
[('en', 'en-us')]
# [('en-us','en')]
## Customize this
#('RU', gettext('RU')),
)
CMS_LANGUAGES = {
## Customize this
1: [
{
'code': 'en',
'name': gettext('English'),
'fallbacks': ['de', 'fr'],
'public': True,
'hide_untranslated': True,
'redirect_on_fallback':False,
},
""" {
'code': 'ko',
'name': gettext('ko'),
'redirect_on_fallback': True,
'public': True,
'hide_untranslated': False,
},"""
],
'default': {
'redirect_on_fallback': True,
'public': True,
'hide_untranslated': False,
},
}
LANGUAGE_CODE = 'en'
【问题讨论】:
-
等等,你把它定义为一个字符串?你不应该把它定义为
{'code': 'ko', ...}所以没有字符串,作为字典? -
@WillemVanOnsem 您好,您指的是字典值吗? { 'code': 'en', 'name': gettext('English'), 'fallbacks': ['de', 'fr'], 'public': True, 'hide_untranslated': True, 'redirect_on_fallback':错误,},这就是我为当地语言所做的和所做的"""
-
@WillemVanOnsem 我会针对语言相关的代码更新一下我的文章
-
@WillemVanOnsem 哦,我不明白你所说的字符串是什么意思——只是我用 """ """ 来注释掉这个块
标签: python django django-cms