Ошибка выполнения Django/Python: RecursionError в /blog/cubs/
Я создал сайт, и я продолжаю получать ошибки рекурсии на моей странице /blog/cubs, у меня есть 2 одинаковые страницы для Бобров и Скаутов, но когда я просматриваю эквивалент cubs, я продолжаю получать эту ошибку рекурсии.
Ниже приведен файл трассировки:
pastebin of tracefile as it's too large to post here
Вот переменная urlpatterns из cubs/urls.py:
urlpatterns = [
path('', PostList.as_view(), name='cubs_blog_home'),
path('about/', views.AboutView.as_view(), name='cubs_blog_about'),
path('search/', views.SearchView.as_view(), name='cubs_blog_search'),
path('file_upload/', views.upload, name='cubs_blog_file_upload'),
path('downloads/', views.DownloadView.as_view(), name='cubs_blog_downloads'),
path('badge_placement', views.BadgePlacementView.as_view(), name='cubs_blog_badge_placement'),
path('user/<str:username>', UserPostList.as_view(), name='cubs_blog_user_posts'),
path('post/new_post/', PostCreate.as_view(), name='cubs_blog_post_create'),
path('post/<slug:slug>/like/', views.PostLikeView, name='cubs_blog_post_like'),
path('post/<slug:slug>/', views.PostDetail.as_view(), name='cubs_blog_post_detail'),
path('post/update/<slug:slug>/', PostUpdate.as_view(), name='cubs_blog_post_update'),
path('post/delete/<slug:slug>/', PostDelete.as_view(), name='cubs_blog_post_delete'),
#path('posts/<int:year>/<int:month>/', main_website_views.CubsPostMonthArchiveView.as_view(month_format='%m'), name="cubs_blog_post_archive_month"),
#path('post/tag/<slug:slug>/', views.tagged, name="cubs_blog_post_tags"),
]
А это мой файл woodhall_website/urls.py:
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/beavers/', include('beavers.urls')),
path('blog/cubs/', include('cubs.urls')),
path('blog/scouts/', include('scouts.urls')),
path('executive/', include('executive.urls')),
path('', include('accounts.urls')),
path('', include('main_website.urls')),
path('summernote/', include('django_summernote.urls')),
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
path('admin/password_reset/', auth_views.PasswordResetView.as_view(), name='admin_password_reset'),
path('admin/password_reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('password_reset/', auth_views.PasswordResetView.as_view(template_name='accounts/password_reset.html'), name='password_reset'),
path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='accounts/password_reset_done.html'), name='password_reset_done'),
path('password_reset_confirm/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name='accounts/password_reset_confirm.html'), name='password_reset_confirm'),
path('password_reset_complete/', auth_views.PasswordResetCompleteView.as_view(template_name='accounts/password_reset_complete.html'), name='password_reset_complete'),
]
Вы пропустили {% endfor %}
в latest_news.html
.
{% block content %}
2 : <div class="content-section">
3 : <div class="list-group list-group-flush">
4 : <h2>Latest News</h2>
5 : {% for article in articles %}
6 : <div class="list-group-item rounded-sm">
7 : <div class="d-flex w-100 justify-content-between">
8 : <h5 class="mb-1">{{ article.article_name }}</h5>
9 : <small> {{ article.date_posted }} </small>
10 : </div>
11 : {% for tag in article.tags.all %}
12 : <a href="{% url 'main_website_article_tags' tag.slug %}" class="mr-1 badge badge-pill badge-info">{{ tag }}</a>
13 : {% endfor %}
14 : <hr class="my-1">
15 : <a href="{% url 'main_website_article_detail' article.slug %}" class="btn btn-custom-green btn-sm mt-1 mb-1"><i class="fa-duotone fa-book-open-reader"></i> Read More</a>
16 : </div>
17 : {% empty %}
18 : <div class="list-group-item rounded-sm">
19 : <div class="d-flex w-100 justify-content-between">
20 : {% endfor %}