Получение NoReverseMatch___ Reverse for 'for_user' with keyword arguments '{'username': ''}'' not found. Проверен 1 шаблон(ы): ['/(?P<имя пользователя>[-\\\w]+)/$'].

Прошу прощения, если повторяю уже отвеченный вопрос. Я пытался найти ответ на этот вопрос, но не могу найти способ обойти эту ошибку.

NoReverseMatch at /groups/ Обратный поиск для 'for_user' с ключевыми аргументами '{'username': ''}'' не найден. Проверено 1 шаблон(ы): ['posts/by/(?P[-\w]+)/$']

models.py

'''

enter code here

from groups.models import Group
# Create your models here.

from django.contrib.auth import get_user_model
User = get_user_model()
class Post(models.Model):
user = models.ForeignKey(User,related_name='posts',
on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now=True)
message = models.TextField()
message_html = models.TextField(editable='False')
group = models.ForeignKey(Group,related_name='posts',
null=True,blank=True,on_delete=models.CASCADE)

def __str__(self):
    return self.message

def save(self,*args,**kwargs):
    self.message_html = misaka.html(self.message)
    super().save(*args,**kwargs)

def get_absolute_url(self):
    return reverse(
    'posts:single',
    kwargs={'username':self.user.username,
    'pk':self.pk})

class Meta:
    ordering = ['-created_at']
    unique_together = ['user','message']

''' Views.py

'''

enter code here

class PostList(SelectRelatedMixin,generic.ListView):
 model = models.Post
 select_related = ('user','group')

class UserPosts(generic.ListView):
 model = models.Post
 template_name = "posts/user_post_list.html"

def get_queryset(self):
    try:
        self.post_user = User.objects.prefetch_related("posts").get(
            username__iexact=self.kwargs.get("username")
        )
    except User.DoesNotExist:
        raise Http404
    else:
        return self.post_user.posts.all()

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context["post_user"] = self.post_user
    return context
    
class PostDetail(SelectRelatedMixin,generic.DetailView):
 model = models.Post
 select_related = ('user','group')

   def get_queryset(self):
     queryset = super().get_queryset()
     return queryset.filter(user__username__iexact=self.kwargs.get('username'))

class CreatePost(LoginRequiredMixin,SelectRelatedMixin,generic.CreateView):

 fields = ('message','group')
 model = models.Post

def form_valid(self,form):
    self.object = form.save(commit=False)
    self.object.user = self.request.user
    self.object.save()
    return super().form_valid(form)

class DeletePost(LoginRequiredMixin,SelectRelatedMixin,generic.DeleteView):
 model = models.Post
 select_related = ('user','group')
 success_url = reverse_lazy('posts:all')

    def get_queryset(self):
       queryset = super().get_queryset()
       return queryset.filter(user_id = self.request.user.id)

    def delete(self,*args,**kwargs):
       messages.success(self.request,'Post Deleted')
       return super().delete(*args,**kwargs)

'''

'''

enter code here

##POSTS URLS

from django.urls import re_path
from . import views

app_name = 'posts'

urlpatterns = [
re_path(r'^$',views.PostList.as_view(),name='all'),
re_path(r'newpost/$',views.CreatePost.as_view(),name='create'),enter code here
re_path(r"by/(?P<username>[-\w]+)/$",views.UserPosts.as_view(),
name="for_user"),
re_path(r"by/(?P<username>[-\w]+)/(?P<pk>\d+)/$",views.PostDetail.as_view(),
name="single"),
re_path(r'delete/(?P<pk>\d+)/$',views.DeletePost.as_view(),name='delete'),
]

'''

Помогите пожалуйста. Я довольно новичок в Django, извините еще раз, если это банальная ошибка

Спасибо @Razenstein ..... Это была ошибка шаблона....

''' {% extends "groups/group_base.html" %}

  {% block pregroup %}
   <div class="col-md-4">
    <div class="content">
     {% if user.is_authenticated %}
     <h2>
      Welcome Back!
      <a href="{% url 'posts:for_user' username=user.username 
          %}">@{{user.username}}</a>
      </h2>
     {% endif %}

'''

Я написал <a href="{% url 'posts:for_user' username=user.name

".
Вернуться на верх