Реверс для 'post_detail' не найден. 'post_detail' не является допустимой функцией представления или именем шаблона. Я пробовал другие решения, но ни одно из них не работает
Я делаю блог на Django и столкнулся с этой ошибкой. Когда вы нажимаете кнопку submit, появляется эта ошибка:
Reverse for 'post_detail' not found. 'post_detail' is not a valid view function or pattern name.
Если вы хотите увидеть ошибку сами, зайдите на mayfly404.com, кликните на сообщение, а затем попробуйте прокомментировать. Вот мой код:
blog/views.py
blog/urls.py
from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.urls import path, include
from users import views as user_views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('profile/<int:pk>/', user_views.profile, name='profile_pk'),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
path('', include('blog.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
blog/forms.py
from django.forms import ModelForm
from django.core.exceptions import ValidationError
from .models import Comment
class CommentForm(ModelForm):
class Meta:
model = Comment
fields = ['name', 'comment']
def __init__(self, *args, **kwargs):
"""Save the request with the form so it can be accessed in clean_*()"""
self.request = kwargs.pop('request', None)
super(CommentForm, self).__init__(*args, **kwargs)
def clean_name(self):
"""Make sure people don't use my name"""
data = self.cleaned_data['name']
if not self.request.user.is_authenticated and data.lower().strip() == 'samuel':
raise ValidationError("Sorry, you cannot use this name.")
return data
blog/templates/blog/post_detail.html
{% extends "blog/base.html" %}
{% block content %}
<head>
<!-- Ezoic Code -->
<script src="//www.ezojs.com/basicads.js?d=mayfly404.com" type="text/javascript"></script>
<!-- Ezoic Code -->
</head>
<article class="media content-section">
<img class="rounded-circle article-img" src="{{ object.author.profile.image.url }}" alt="{{ object.author }}">
<div class="media-body">
<div class="article-metadata">
<a class="mr-2" href="#">{{ object.author }}</a>
<small class="text-muted">{{ object.date_objected }}</small>
{% if object.author == user %}
<a class="btn btn-secondary btn-sm mt-1 mb-1" href="{% url 'post-update' object.id %}">Update Post</a>
<a class="btn btn-danger btn-sm mt-1 mb-1" href="{% url 'post-delete' object.id %}">Delete Post</a>
{% endif %}
</div>
<h2 class="article-title">{{ object.title }}</h2>
<p class="article-content">{{ object.content|safe }}</p>
<img src="{{ post.image }}" width="250px" onerror="this.style.display='none'">
</div>
</article>
<h2 id="comments">Comments</h2>
{% for comment in post.comment_set.all %}
<b>{{ comment.name }}</b> said <b>{{ comment.created_on|timesince }} ago</b>
<p>{{ comment.comment }}</p>
{% empty %}
<p>Feel free to leave the first comment!</p>
{% endfor %}
<hr>
<h3>Add a comment</h3>
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
{% endblock content %}
Ошибка более подробно: картинка