Как я могу исправить "Вызов 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 на уровне строки по умолчанию и делаю это экономно.
Редактировать: Просто для пояснения, вам нужно ввести код для предупреждения, которое вы получаете; приведенные выше - это всего лишь примеры.