python - Django 消息显示两次

标签 python django

我正在使用 Django 的消息框架,我有一个非常奇怪的问题,即我的消息在模板中显示了两次,即使 {{messages|length}} 是 1

我的观点

if request.method == 'POST':
    form = EditProfileForm(user=request.user, meta=meta, data=request.POST, files=request.FILES)
    if form.is_valid():
        user = form.save()
        if 'uploaded_image' in request.FILES:
            #TODO limit image size, check mime type
            filename = request.FILES['uploaded_image']
            destination = open('%s/%s' % (settings.FILE_UPLOAD_PATH, form.filename), 'wb+')
            for chunk in filename.chunks():
                destination.write(chunk)
            destination.close() 

        print 'adding success message' #this is printed once
        messages.success(request, 'Settings saved.') #this message is displayed twice
        #messages.add_message(request, messages.SUCCESS, 'Yup. Saved.')

        return HttpResponseRedirect(reverse('someview'))
    else:
        print form.errors
        messages.error(request, 'Error updating settings. See errors below.')

在我的模板中:

{% block message%}
{{message.count}}
{% if messages %}
{{messages|length}}
    {% for message in messages%}
        <p class="{{message.tags}}">{{message}}</p>
    {% endfor %}
{% endif %}
{% endblock %}

有什么想法吗?

最佳答案

原来这是一个模板继承问题。仔细检查并确保您在两个不同的模板中没有相同的 block 。

关于python - Django 消息显示两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401118/

相关文章:

python - 将后台任务抓取的图像保存到 ImageField

python - 我如何转换这个包含每个单词及其重复次数的元组?

python - SQLAlchemy 多态关联

python - 如何确定sshd的这个perl脚本的stdin内容

python - Django REST框架: Two models nested via a third one (with 2 FKs )

python - 排除通用 CRUD View 中的字段

python - 来自另一个模型实例的 Django 模型选择字段

python - DJANGO_SETTINGS_MODULE 已定义,项目设置通过 `python manage.py ` 导入,但 django-pytest 找不到 django 设置

python - 单元测试包 Maven 风格约定

python - 如何在 python 中从 yaml 存储或读取文字回车符和换行符