diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index a8ffacb..d1d9956 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -12,8 +12,8 @@ services: labels: - "com.centurylinklabs.watchtower.scope=etpgrf" - # Запускаем collectstatic перед стартом - command: sh -c "python etpgrf_site/manage.py collectstatic --noinput && gunicorn --bind 0.0.0.0:8000 --chdir /app/etpgrf_site etpgrf_site.wsgi" + # Запускаем миграции, потом collectstatic, потом сервер + command: sh -c "python etpgrf_site/manage.py migrate --noinput && python etpgrf_site/manage.py collectstatic --noinput && gunicorn --bind 0.0.0.0:8000 --chdir /app/etpgrf_site etpgrf_site.wsgi" volumes: # База данных (папка data должна быть создана на хосте) @@ -72,7 +72,6 @@ services: # Берем учетные данные из .env файла - REPO_USER=${REPO_USER} - REPO_PASS=${REPO_PASS} - - WATCHTOWER_REGISTRY_URL=git.cube2.ru # Ограничиваем область видимости только этим проектом - WATCHTOWER_SCOPE=etpgrf # Если нужно указать реестр явно (обычно watchtower сам понимает из имени образа) diff --git a/etpgrf_site/typograph/admin.py b/etpgrf_site/typograph/admin.py index 8c38f3f..b30ac9a 100644 --- a/etpgrf_site/typograph/admin.py +++ b/etpgrf_site/typograph/admin.py @@ -1,3 +1,33 @@ from django.contrib import admin +from .models import DailyStat -# Register your models here. +@admin.register(DailyStat) +class DailyStatAdmin(admin.ModelAdmin): + list_display = ( + 'date', + 'index_views', + 'process_requests', + 'copy_count', + 'chars_in', + 'chars_out', + 'chars_copied', + 'avg_processing_time_ms_formatted', + ) + list_filter = ('date',) + search_fields = ('date',) + ordering = ('-date',) + + # Делаем поля только для чтения + readonly_fields = [field.name for field in DailyStat._meta.fields] + + def has_add_permission(self, request): + # Запрещаем добавлять записи вручную + return False + + def has_delete_permission(self, request, obj=None): + # Запрещаем удалять записи + return False + + @admin.display(description='Среднее время (мс)', ordering='total_processing_time_ms') + def avg_processing_time_ms_formatted(self, obj): + return f"{obj.avg_processing_time_ms:.2f}" diff --git a/etpgrf_site/typograph/templates/typograph/base.html b/etpgrf_site/typograph/templates/typograph/base.html index a29f13c..0c45b9b 100644 --- a/etpgrf_site/typograph/templates/typograph/base.html +++ b/etpgrf_site/typograph/templates/typograph/base.html @@ -62,10 +62,18 @@ {# Футер #} -