Как я могу исправить "Вызов format_html() без передачи аргументов или kwargs устарел" в PyCharm?

У меня есть следующий код:

def _demo_preview_message(request):
    if not getattr(settings, 'IS_DEMO', False):
        return
    last = DemoEmail.objects.order_by('-id').first()
    if last:
        messages.success(
            request=request,
            message=format_html("Email queued (demo). <a href='{}'>Preview</a>",
                                reverse('demo_outbox_detail', args=[last.pk]))
        )

В строке:

message=format_html("Email queued (demo). <a href='{}'>Preview</a>",
                                reverse('demo_outbox_detail', args=[last.pk]))

PyCharm выдает мне следующее сообщение:

Вызов format_html() без передачи аргументов или kwargs не рекомендуется.

Как я могу это исправить?

Похоже, это проблема с анализом кода со стороны PyCharms, поэтому нет необходимости исправлять это, если при запуске все работает нормально.
Если вас это действительно беспокоит, вы могли бы отключить это в pycharm: Настройки -> Редактор -> Проверки

В PyCharm вы можете отключить проверку отдельных строк, добавив # noqa в конце строки темы. Это позволит отключить все предупреждения и сообщения об ошибках только для этой строки.

message=format_html("Email queued (demo). <a href='{}'>Preview</a>",
                                reverse('demo_outbox_detail', args=[last.pk]))  # noqa

В качестве альтернативы вы можете отключить "классы" проверок, добавив строку в верхней части скрипта:

# noqa F401, E501

# < the rest of your code >

, который отключит все сообщения с этими кодами. Я предпочитаю использовать последний только для подавления кодов, которые мне на самом деле не нужны, в любом месте моего кода, например, E501, который помечает слишком длинные строки. Обычно я использую # noqa на уровне строки по умолчанию и делаю это экономно.

Редактировать: Просто для пояснения, вам нужно ввести код для предупреждения, которое вы получаете; приведенные выше - это всего лишь примеры.

Вернуться на верх