这是我的视图、模型和Html。我试图在django中创建一个用户配置文件页面。我只需要查询和拉取请求的信息。配置文件页面中的用户。问题似乎是我无法获得正确的查询过滤器。
视图.py
class UserView(generic.ListView):
model = Post
template_name = 'post/user_page.html'
context_object_name = 'all_post'
def get_queryset(self):
return Post.author.all()
class Post(models.Model):
creator = models.CharField(max_length=250)
post_name = models.CharField(max_length=250)
category = models.CharField(max_length=250)
post_photo = models.FileField()
author = models.ForeignKey(User, blank=True, null=True, related_name ='user_post')
category = models.ManyToManyField(Category)
def get_absolute_url(self):
return reverse('post:detail', kwargs={'pk': self.pk})
def __str__(self):
return self.creator + ' - ' + self.post_name
配置文件页面
<div class="col-sm-6 col-sm-offset-3">
<div class="roote-container container-fluid">
<h1>Welcome {{user.username}}</h1>
<div class="row">
{% for post in all_post %}
<div class= col-sm-12">
<div class="thumbnail">
<a href="{% url 'post:detail' post.id %}" >
<img src="{{ post.post_photo.url }}" class="img-responsive">
</a>
<div class="caption">
<h2>{{ post.post_name }}</h2>
<p>{{ post.user }}</p>
<a href="{% url 'post:detail' post.id %}"class="btn btn-primary">{{post.posts_name}} post</a>
<form action="{% url 'post:post-delete' post.id %}" method="post" style="display inline;">
{% csrf_token %}
<input type="hidden" name="post_id" value="{{ post.id }}"/>
<button type="submit" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-trash"></span>
</button>
</form>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>