Почему "djlint" предупреждает меня о необходимости добавления тегов "<meta>", даже если файл привязан?

Я работаю над веб-проектом на Django и использую djlint для компоновки и форматирования моих HTML-шаблонов. Я запустил следующую команду, чтобы создать один из моих шаблонов:

djlint html_files/analytics/reports/report_new.html

И я получил такой результат:

Linting 1/1 files ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:00    

html_files/analytics/reports/report_new.html
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
H030 3:0 Consider adding a meta description. <html lang="{{ lang 
H031 3:0 Consider adding meta keywords. <html lang="{{ lang 

Linted 1 file, found 2 errors.

Несмотря на то, что в нем указано "найдено 2 ошибки", файл на самом деле исправлен и отформатирован нормально. Сбоя нет, и форматирование применено.

Что я хочу понять:

  • Почему они помечены как ошибки, когда на самом деле это просто рекомендации?
  • Следует ли рассматривать это как предупреждение или игнорировать?
  • Рекомендуется ли всегда включать <meta name="description"> и <meta name="keywords"> в шаблоны Django — даже для внутренних информационных панелей?
  • Как я могу подавить или проигнорировать эти предложения, если я не хочу их включать?

Дайте мне знать, если есть способ настроить djlint так, чтобы они перестали помечаться, не влияя на фактическую разметку или форматирование.

<время работы/>

То, что я пробовал:

  • Я проверил официальную документацию по djlint, и они перечислены в разделе предложения, связанные с SEO.
  • Я также попробовал эту команду, и она сработала, отключив предупреждения:
djlint html_files/analytics/reports/report_new.html --ignore H030,H031

Это не настоящие ошибки — это предложения по исправлению, предоставленные djlint в соответствии с правилами наилучшей практики HTML, специально для целей SEO.

Что означают H030 и H031?

  • H030: Предлагается добавить тег <meta name="description">.

  • H031: Предлагается добавить тег <meta name="keywords">.

Они предназначены для общедоступных веб-страниц, чтобы улучшить видимость в поисковых системах, но для внутренних информационных панелей или панелей администратора (как у меня) они не нужны.

<время работы/>

Решение 1. Добавьте теги (если применимо)

Если ваш шаблон общедоступен или вы хотите следовать рекомендациям, вы можете добавить в свой <head>:

<meta name="description" content="Create and manage analytic reports like incidents, users, and services.">
<meta name="keywords" content="analytics, reports, incidents, users, services, taskcall">

Это приведет к удалению предупреждений.

Решение 2: Игнорируйте предупреждения

Если вы создаете внутренний инструмент и вам не нужны SEO-теги, просто отмените эти правила:

Опция A – Командная строка:

djlint html_files/analytics/reports/report_new.html --ignore H030,H031

Вариант B – Конфигурационный файл (djlint.toml или .djlintrc):

ignore = ["H030", "H031"]

Вот минимальный и чистый djlint.toml конфигурационный файл, который вы можете включить в свой корневой каталог проекта, чтобы автоматически игнорировать эти предупреждения при каждом обновлении:

djlint.toml

# djlint configuration file

# Ignore specific rule codes
ignore = ["H030", "H031"]

# Optional: Set default file types (you can remove this if not needed)
extensions = [".html", ".htm", ".djhtml"]

# Optional: Enable formatting by default (if you use --reformat less often)
format = true

Куда это поместить?

Поместите файл djlint.toml в корневую директорию вашего проекта Django (на том же уровне, на котором manage.py). djlint будет автоматически отображаться при запуске:

djlint path/to/templates/
Вернуться на верх