Django格式\u html无法使用string\u con

2024-05-18 15:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图向用户显示两行错误消息。我所做的所有尝试都失败了,我无法理解这一点,尽管我搜索了SO&google。在

我得到的错误是:

异常类型:索引器错误

异常值:元组索引超出范围

问题似乎是format_html()与{}一起使用。在

下面是我的python代码:

from django.utils import translation
from django.utils.html import format_html
from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy as _
....
if not request.user.is_staff and language_versions_num_enabled > max_languages:
    error_message = format_html(
        string_concat(
            _(u'You are only permitted <b>{}</b> <u>enabled</u> Language Versions for the selected <b>{}</b> subscription plan.'),
            ' <icon class="fa fa-frown-o icon_size26 icon_padding"></icon>',
            '<br /><br />',
            _(u'Either select a different subscription plan or disable <b>{}</b> of your <b>{}</b> <u>enabled</u> Language Versions.'.format(max_languages, stripe_plan['title'], language_versions_num_enabled-max_languages, language_versions_num_enabled))
        )
    )
    messages.add_message(request, messages.ERROR, error_message)
else:

我真的希望有人能指出我在这里做错了什么。在

编辑

我使用的是django1.10和python3.5.2。在

下面是堆栈跟踪:

^{pr2}$

Tags: djangofromimportformathtml错误enabledutils
1条回答
网友
1楼 · 发布于 2024-05-18 15:19:39

你把格式放错地方了。试试这个:

error_message = format_html(
    string_concat(
        _(u'You are only permitted <b>{}</b> <u>enabled</u> Language Versions for the selected <b>{}</b> subscription plan.'),
        ' <icon class="fa fa-frown-o icon_size26 icon_padding"></icon>',
        '<br /><br />',
        _(u'Either select a different subscription plan or disable <b>{}</b> of your <b>{}</b> <u>enabled</u> Language Versions.')
    ).format(max_languages, stripe_plan['title'], language_versions_num_enabled-max_languages, language_versions_num_enabled)
)

相关问题 更多 >

    热门问题