From d21f847bd7e793583cd0494d26ddc0f4d1e6b9e9 Mon Sep 17 00:00:00 2001 From: NikDizell Date: Sun, 8 Mar 2026 17:16:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20rs?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/feeds.py | 23 +++++++++++++++++++++++ blog/urls.py | 3 +++ programmer/templates/programmer/base.html | 6 ++++++ 3 files changed, 32 insertions(+) create mode 100644 blog/feeds.py diff --git a/blog/feeds.py b/blog/feeds.py new file mode 100644 index 0000000..31121d6 --- /dev/null +++ b/blog/feeds.py @@ -0,0 +1,23 @@ +from django.contrib.syndication.views import Feed +from django.urls import reverse +from .models import Article + +class LatestArticlesFeed(Feed): + title = "Блог программиста 1С — СНА Технологии" + description = "Свежие статьи о 1С, автоматизации и разработке" + link = "/blog/" + + def items(self): + # Возвращаем последние 10 опубликованных статей + return Article.objects.filter(is_published=True).order_by('-time_create')[:10] + + def item_title(self, item): + return item.title + + def item_description(self, item): + # Краткое описание (можно первые 200 символов контента) + return item.content[:200] + "…" + + def item_link(self, item): + return reverse('blog:article_detail', args=[item.slug]) + \ No newline at end of file diff --git a/blog/urls.py b/blog/urls.py index 2788181..e51a553 100644 --- a/blog/urls.py +++ b/blog/urls.py @@ -1,4 +1,6 @@ from django.urls import path + +from blog.feeds import LatestArticlesFeed from . import views app_name = 'blog' @@ -6,6 +8,7 @@ app_name = 'blog' urlpatterns = [ path('', views.ArticleListView.as_view(), name='article_list'), path('category//', views.ArticleListView.as_view(), name='category_detail'), + path('rss/', LatestArticlesFeed(), name='rss_feed'), path('/', views.ArticleDetailView.as_view(), name='article_detail'), path('draft//', views.ArticleDraftPreviewView.as_view(), name='draft_preview'), ] diff --git a/programmer/templates/programmer/base.html b/programmer/templates/programmer/base.html index 9361b0c..014fa39 100644 --- a/programmer/templates/programmer/base.html +++ b/programmer/templates/programmer/base.html @@ -55,6 +55,8 @@ + + {% block extra_css %} {% endblock %} @@ -307,6 +309,10 @@ ИКС +