Django很多人都在访问这两个模型

2024-04-25 05:46:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Django建立一个小的“Twitter风格”的网站来处理问题,并决定允许多个用户编辑每个帖子(最终基于权限)。现在我正在努力的是访问每个用户的帖子。下面是我的模型,视图和模板的代码,它显示了所有用户的“这里没有帖子”。我希望能够显示用户的所有帖子,但似乎没有得到任何地方:

在模型.py在

from django.db import models

class User(models.Model):
    username = models.CharField(max_length = 200)
    email = models.EmailField(max_length = 75)
    password = models.CharField(max_length = 64)
    created_date = models.DateTimeField('date created')

    def __unicode__(self):
        return self.username

    class Meta:
        ordering = ('created_date',)


class Post(models.Model):
    users = models.ManyToManyField(User)
    title = models.CharField(max_length = 300)
    post = models.TextField()
    posted_date = models.DateTimeField('date created')
    votes = models.IntegerField()

    def __unicode__(self):
        return self.title

    class Meta:
        ordering = ('posted_date',)

在视图.py在

^{pr2}$

在网址.py在

from django.conf.urls import patterns, url

from users import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^(?P<user_id>\d+)/$', views.detail, name='detail'),
)

(模板)-详细信息.html在

<h1>{{ user.username }}</h1>
{% if post_list %}
    <ul>
    {% for post in post_list%}
        <li>{{ post.title }}</li>
    {% endfor %}
    </ul>
{% else %}
    <p> There aint no posts here </p>
{% endif %}

Tags: 用户frompyimportselfdatemodelsusername
2条回答

传递给模板的变量名为post,而不是post_list。在

更改视图中列表对象的名称。在

def detail(request, user_id):
    user = get_object_or_404(User, pk=user_id)
    post_list = Post.objects.filter(id == user.id)  
    return render(request, 'users/detail.html', {'user': user, 'post_list': post_list})

相关问题 更多 >