Реверс для 'author' с аргументами '('',)' не найден. Проверен 1 шаблон(ы): ['blogapp/author/(?P<pk>[^/]+)/\\\Z'
при выполнении http://127.0.0.1:8000/blogapp/blog/ , в django 4.0, я получил ошибку reverse for... not found and
эта ошибка возникает, когда я добавляю (post.author.id) в href, который находится в шаблоне, упомянутом в строке 15 если нужна дополнительная информация, пожалуйста, прокомментируйте ниже
views.py
def authorview(request,pk):
user=User.objects.get(id=pk)
return render(request,'blogapp/authorview.html',{'user':user})
templates
.
В шаблоне C:\Users\SHAFQUET NAGHMI\blog\blogapp\templates\blogapp\blogretrieve.html, ошибка в строке 15
{% load static %}
{% block content %}
<h1>Blog </h1>
<link rel="stylesheet" href="{% static 'blogapp/blogretrieve.css' %}">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
{% for post in q %}
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h2 class="display-1">{{post.title}} </h2><br>
<p class="display-2">{{post.Newpost}}</p>
<a href="{% url 'blogapp:author' post.author.id %}">{{post.author}}</a <!-- line 15 -->
<small class="display-3">{{post.created_date}}</small>
</div>
</div>
{% endfor %}
urls.py
app_name='blogapp'
urlpatterns=[
path('',views.home,name='home'),
path('createblog/',views.blogview,name='blogview'),
path('blog/',views.blogretrieve,name='blog'),
path('signup/',views.signupview,name='signup'),
path('login/',views.loginview,name='login'),
path('logout/',views.logoutview,name='logout'),
path('author/<str:pk>/',views.authorview,name='author'),
]
поделитесь своими models.py и urls.py
Ошибка означает, что post.author.id пуст в
{% url 'blogapp:author' post.author.id %}
Поскольку вы не публикуете связанное представление, невозможно сказать, почему оно пустое. Вы выполняете цикл через "q", поэтому q должен быть в вашем контексте и содержать посты. Таким образом, либо ваш список q пуст, либо у одного из содержащихся в нем постов нет автора.
ошибка произошла потому, что вы передаете None значение в качестве параметра.
EX : {% url 'blogapp:author' post.author.id %}
проверьте значение: post.author.id