From d048510f6823f531d07f0438aec1ac36c1764e12 Mon Sep 17 00:00:00 2001 From: NikDizell Date: Sun, 8 Mar 2026 01:19:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=B4=D0=B0=20=D1=81=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=83=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programmer/admin.py | 26 --- programmer/models.py | 14 +- programmer/templates/programmer/solution.html | 8 + programmer/urls.py | 4 +- programmer/views.py | 150 +++++++----------- 5 files changed, 76 insertions(+), 126 deletions(-) diff --git a/programmer/admin.py b/programmer/admin.py index 845341d..e4128e6 100644 --- a/programmer/admin.py +++ b/programmer/admin.py @@ -121,33 +121,7 @@ class CallbackAdmin(admin.ModelAdmin): } return render(request, 'admin/callback_stats.html', context) -class ProgrammerAdmin(admin.ModelAdmin): - list_display = ('id', 'title', 'time_create', 'photo', 'is_published') - list_display_links = ('id', 'title') - search_fields = ('title', 'content') - list_editable = ('is_published',) - list_filter = ('time_create', 'is_published') -class RecallAdmin(admin.ModelAdmin): - list_display = ('id', 'title', 'time_create', 'scan', 'is_published') - list_display_links = ('id', 'title') - search_fields = ('title', 'content') - list_editable = ('is_published',) - list_filter = ('time_create', 'is_published') - -class SolutionAdmin(admin.ModelAdmin): - list_display = ('id', 'title', 'time_create', 'is_published') - list_display_links = ('id', 'title') - search_fields = ('title', 'description', 'implementation') - list_editable = ('is_published',) - list_filter = ('time_create', 'is_published') - -class HomeAdmin(admin.ModelAdmin): - list_display = ('id', 'title', 'time_create', 'is_published') - list_display_links = ('id', 'title') - search_fields = ('title', 'content') - list_editable = ('is_published',) - list_filter = ('time_create', 'is_published') @admin.register(PageView) class PageViewAdmin(admin.ModelAdmin): diff --git a/programmer/models.py b/programmer/models.py index 9643587..cc22f36 100644 --- a/programmer/models.py +++ b/programmer/models.py @@ -20,7 +20,7 @@ class Recall(models.Model): return self.title def get_absolute_url(self): - return reverse('post', kwargs={'post_id': self.pk}) + return reverse('recall_detail', kwargs={'pk': self.pk}) class Meta: verbose_name = 'Отзыв' @@ -49,7 +49,7 @@ class Competence(models.Model): return self.title def get_absolute_url(self): - return reverse('post', kwargs={'post_id': self.pk}) + return reverse('competence_detail', kwargs={'pk': self.pk}) class Meta: verbose_name = 'Компетенция' @@ -70,7 +70,7 @@ class Solution(models.Model): return self.title def get_absolute_url(self): - return reverse('post', kwargs={'post_id': self.pk}) + return reverse('solution_detail', kwargs={'pk': self.pk}) class Meta: verbose_name = 'Проекты' @@ -107,7 +107,7 @@ class Home(models.Model): return self.title def get_absolute_url(self): - return reverse('post', kwargs={'post_id': self.pk}) + return reverse('home') class Meta: verbose_name = 'Главная страница' @@ -189,10 +189,10 @@ class Profile(models.Model): @receiver(post_save, sender=User) -def create_or_save_user_profile(sender, instance, **kwargs): +def create_or_save_user_profile(sender, instance, created, **kwargs): # Получаем или создаём профиль, затем сохраняем - profile, created = Profile.objects.get_or_create(user=instance) - profile.save() + if created: + Profile.objects.get_or_create(user=instance) @receiver([post_save, post_delete], sender=Home) diff --git a/programmer/templates/programmer/solution.html b/programmer/templates/programmer/solution.html index be5ab33..9e5932a 100644 --- a/programmer/templates/programmer/solution.html +++ b/programmer/templates/programmer/solution.html @@ -3,11 +3,19 @@ {% load static %} {% load seo_tags %} + {% block extra_css %} {% endblock %} {% block content %} +
+

{{ solution.title }}

+

{{ solution.description }}

+
{{ solution.implementation|safe }}
+
{{ solution.closing|safe }}
+
+