Реверс для 'location-posts' для django

Я пытаюсь перечислить все посты на одной странице, которые находятся в одном месте. (когда я создаю пост Так что если местоположение "Манхэттен", когда я нажимаю на местоположение поста на главной странице, он покажет мне все посты, которые были разделены в том же месте всеми пользователями.

Я просмотрел несколько уроков и мне удалось вывести список сообщений определенных пользователей на одной странице (ничего общего с местоположением, просто по имени пользователя), и я думал, что это будет довольно похоже, но не получилось.

Наверное, что-то не так с тем, как я использую urls.py или с определением so

это дает мне

Reverse for 'location-posts' with arguments '('',)' not found. 1 pattern(s) tried: ['post/(?P<loc>[^/]+)$']

ошибка вот соответствующие части моего кода:

views.py

class LocationPostListView(ListView):
    model = Post
    template_name = 'blog/location_posts.html'
    context_object_name = 'posts'
    paginate_by = 199

    def get_queryset(self):
        user = get_object_or_404(User, loc = self.kwargs.get('loc'))
        return Post.objects.filter(location = user).order_by('-date_posted')

urls.py

from .views import PostListView, PostDetailView, PostCreateView, PostUpdateView, PostDeleteView, UserPostListView, LocationPostListView

. . .

    path('post/<str:loc>', LocationPostListView.as_view(), name="location-posts"),

location_posts.html


              <a class="mr-2" href="{% url 'location-posts' post.location.loc %}">{{ post.location }}</a>

также:

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)  #if is deleted than delete their posts 
    location = models.CharField(max_length=100, default="")
Вернуться на верх