1

i118 を機能させるのに苦労しています。私のhtmlを呼び出すと、次のようになります:

Failed lookup for key [LANGUAGES] in u"[{'projects': [<Project: etwas>]}]"

これが私のワークフローでした:

#setting.py
LANGUAGE_CODE = 'de'

ugettext = lambda s: s

LANGUAGES = (
   ('de', ugettext('German')),
   ('en', ugettext('English')),
   ('pt', ugettext('Portuges')),
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    #...

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    'django.core.context_processors.i18n',
)


#base.html
{% load i18n %}
<html>
<body>
<form action="/i18n/setlang/" method="post"> 
{% csrf_token %}
<input name="next" type="hidden" value="next/page" /> 
<select name="language"> 
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
    <option value="{{ language.code }}">{{ language.name_local }}  ({{ language.code }})</option>
{% endfor %}

#projects.html
{% extends 'base.html' %}
{% load i18n %} 
{% block content %}
{% for p in projects %}
    <h1>{{ p.title_en }}</h1>
    <p>{{ p.body_de }} </p>
    <p>{{ p.body_pt }} </p>
    <hr>    
{% endfor %}
{% endblock %}

私は何が欠けていますか?エラーメッセージに関する有用な情報がオンラインで見つかりません。

4

2 に答える 2

1

RequestContextを使用していないようです。

于 2012-10-24T11:25:58.860 に答える
1

'django.core.context_processors.i18n'正しく呼び出されていないようです。

これはおそらく、ビューがdjango.shorcuts.render_to_responseなしで使用されているためcontext_instance=template.RequestContext(request)です。

解決策は、に切り替えることdjango.shortcuts.renderです。

于 2012-10-24T11:26:00.457 に答える