0

開発サーバーは django1.3 を使用しますが、展開サーバーは django1.4 を使用しています。Messages フレームワークは django1.4 ではまったく動作しませんが、1.3 では次のコードでうまく動作します。

設定.py

    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
    )
    INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'django.contrib.admin',
        ... ,
    )

ビュー.py

    from django.contrib import messages
    from django.http import HttpResponseRedirect
    ...

    def some_view(request):
        ...
        mess1 = 'Thank you! Your message was received.' 
        messages.info(request, mess1)
        return HttpResponseRedirect('/contact/')

テンプレート

    {% if messages %}
        <ul class="messages">
            {% for message in messages %}
            <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
            {{ message }}
            </li>
            {% endfor %}
        </ul>
    {% endif %}
4

1 に答える 1

0

メッセージ テンプレート コンテキスト プロセッサを追加しましたか?

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.messages.context_processors.messages",
)

詳細については、これを参照してください

于 2013-02-18T19:58:44.700 に答える