Джанго: Проверяет с веб-просмотром - PullRequest
0 голосов
/ 12 июня 2019

Я прочитал документы для проверок: https://docs.djangoproject.com/en/2.2/topics/checks/

Я что-то упустил: я хотел бы иметь веб-представление, где администратор может видеть, что не так.

Вызов этого представления долженвыполнить проверку и результат (ок или сообщения об ошибках) должен быть виден.

Я мог бы взломать что-то подобное сам.

Но я бы хотел пойти по обычному пути, если уже естьтаким образом.

В отличие от модульного тестирования, речь идет о проверке production server.

Как это сделать с помощью django-way?

Примеры проверок, которые я имею в виду: проверка доступности сторонних сервисов (SMTP-сервер, архивные системы, ERP-системы, ...)

Ответы [ 2 ]

2 голосов
/ 17 июня 2019

Проверка встроенной системы в основном предназначена для разработки. Дело в том, что если эти тесты не пройдут, ваш проект, скорее всего, вообще не запустится.

Но, тем не менее, вы можете вызвать эту (или любую другую) команду управления из кода Python, используя management.call_command - вам просто нужно предоставить записываемый файл-подобный объект для захвата stdout / stderr:

from StringIO import StringIO
from django.core.management import call_command, check

def check_view(request):
    out = StringIO()
    cmd = check.Command(stdout=out, stderr=out)
    call_command(check)
    out.seek(0)
    context = {"results": out.readlines()}
    return render(request, "check.html", context) 

Тогда нужно просто добавить это к вашему администратору (что задокументировано, поэтому я не буду приводить полный пример).

Примечание: добавьте свои собственные проверки к команде check, это также полностью задокументировано .

1 голос
/ 17 июня 2019

Поставщики облачной платформы часто предоставляют проверки работоспособности, которые проверяют ваше приложение в определенный момент, например: / health

django-health-check предоставляет тесты, которые могут быть выполнены при доступе к / health.

Если они все проходят, возвращается 200. В противном случае поставщик облачных услуг уведомит ваших администраторов.

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

...