diff --git a/public/static/css/rosmorport.css b/public/static/css/rosmorport.css index 0e118d0..8f1f493 100644 --- a/public/static/css/rosmorport.css +++ b/public/static/css/rosmorport.css @@ -35,6 +35,8 @@ body { font-family: "Lobster", sans-serif; font-weight: 400; font-style: normal; + color: silver; + display: inline-block; } /* НАВИГАЦИЯ - МЕНЮ */ diff --git a/rosmorport_tsts/rosmorport_tsts/models.py b/rosmorport_tsts/rosmorport_tsts/models.py index bf3b4d1..43ee41a 100644 --- a/rosmorport_tsts/rosmorport_tsts/models.py +++ b/rosmorport_tsts/rosmorport_tsts/models.py @@ -11,9 +11,10 @@ class TbPetsClones(models.Model): """Модель для хранения клонов питомцев""" class PetType(models.IntegerChoices): """Тип питомца""" - DOG = 1, "Собака" - CAT = 2, "Кошка" - BIR = 3, "Птица" + DOG = 1, "Собачка" + CAT = 2, "Кошечка" + BIR = 3, "Птичка" + FIS = 6, "Рыбка" ROD = 4, "Грызун" REP = 5, "Рептилия" OTH = 0, "Неизвестная зверушка" @@ -93,8 +94,12 @@ class TbPetsClones(models.Model): def __str__(self): return self.__unicode__() - def save(self, *args, **kwargs): + if self.szPetName == "": + # если имя не задано, то генерируем его + self.szPetName = (f"{chr(random.randint(65, 90))}" + f"{chr(random.randint(65, 90))}" + f"{chr(random.randint(65, 90))}") if not self.pk: # если объект новый, то генерируем серийный номер self.szPetSerNum = (f"{pytils.translit.slugify(self.szPetName)[:3].upper()}" diff --git a/rosmorport_tsts/rosmorport_tsts/urls.py b/rosmorport_tsts/rosmorport_tsts/urls.py index 3944a82..f986213 100644 --- a/rosmorport_tsts/rosmorport_tsts/urls.py +++ b/rosmorport_tsts/rosmorport_tsts/urls.py @@ -28,6 +28,9 @@ urlpatterns = [ re_path(r'^logout$', views.my_logout), re_path(r'^login$', views.my_login), re_path(r'^not-auth$', views.not_auth), + re_path(r'add-clone$', views.add_clone), + re_path(r'save-clone$', views.save_clone), + ] # Обработчики ошибок diff --git a/rosmorport_tsts/rosmorport_tsts/views.py b/rosmorport_tsts/rosmorport_tsts/views.py index a5ddcf9..a92e0f4 100644 --- a/rosmorport_tsts/rosmorport_tsts/views.py +++ b/rosmorport_tsts/rosmorport_tsts/views.py @@ -3,6 +3,8 @@ from django.shortcuts import render, HttpResponseRedirect from django.http import HttpRequest, HttpResponse from django.contrib.auth import authenticate, login, logout from django.template.exceptions import TemplateDoesNotExist, TemplateSyntaxError +from rosmorport_tsts.models import TbPetsClones + def index(request: HttpRequest) -> HttpResponse: @@ -57,3 +59,36 @@ def not_auth(request: HttpRequest) -> HttpResponse: """ to_template = {"META_REFRESH": "15; url=/"} return render(request, template_name="not_auth.jinja", context=to_template, status=401) + + +def add_clone(request: HttpRequest) -> HttpResponse: + """ Добавление клонированного питомца + + :param + :return response: исходящий http-ответ + """ + to_template = { + "META_REFRESH": "3600; url=/logout", # автоматический logout через 1 час бездействия + "PET_TYPES": TbPetsClones.PetType.choices, + "PET_SEXES": TbPetsClones.PetSex.choices + } + return render(request, template_name="input_data.jinja", context=to_template) + + +def save_clone(request: HttpRequest) -> HttpResponse: + """ Сохранение записи о клонированном питомце + + :param + :return response: исходящий http-ответ + """ + to_template = { + "META_REFRESH": "2; url=/add-clone", # автоматический + } + if request.method == 'POST': + try: + print(request.POST['pay']) + print(request.POST) + except KeyError: + return HttpResponseRedirect('/add-clone') + return render(request, template_name="save_data.jinja", context=to_template) + diff --git a/rosmorport_tsts/templates-django/index.jinja b/rosmorport_tsts/templates-django/index.jinja index 9a87037..3bd8b66 100644 --- a/rosmorport_tsts/templates-django/index.jinja +++ b/rosmorport_tsts/templates-django/index.jinja @@ -2,7 +2,7 @@ {% block CONTENT %}
решены проблемы любви и пропитания
-анонимные решения проблем любви и пропитания
+анонимные решения проблем любви и пропитания
+