Реверс для '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="")