Skip to main content
 首页 » 编程设计

python之使用 django 显示特定帖子

2024年10月01日36dflying

我在 django 中有一个帖子应用程序,不同的员工可以在其中创建帖子。我现在希望能够在他们登录时显示每个发帖人的帖子,而不包括其他帖子。

模型

class Post(models.Model): 
    """docstring for Post.""" 
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1) #blank=True, null=True)#default=1 
    title = models.CharField(max_length = 120) 
    slug = models.SlugField(unique= True) 
    draft = models.BooleanField(default = False) 
    publish = models.DateField(auto_now=False, auto_now_add=False) 
    content = models.TextField() 
    updated = models.DateTimeField(auto_now=True, auto_now_add=False) 
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True) 
 
    #objects = PostManager() 
 
    def __str__(self): 
        return self.title 

查看

def index(request): 
    results = Post.objects.all().filter(draft=False)#.filter(publish__lte=timezone.now()) 
    que = request.GET.get("q") 
    if que: 
        results =results.filter( 
            Q(title__icontains=que)| 
            Q(content__icontains=que)).distinct() 
    paginator = Paginator(results, 8) # Show 25 contacts per page 
    pages ="page" 
    page = request.GET.get('page') 
    try: 
        query = paginator.page(page) 
    except PageNotAnInteger: 
        # If page is not an integer, deliver first page. 
        query = paginator.page(1) 
    except EmptyPage: 
        # If page is out of range (e.g. 9999), deliver last page of results. 
        query = paginator.page(paginator.num_pages) 
    context = { 
        "objects": query, 
        "pages": pages 
    } 
    template = 'index.html' 
    return render(request,template,context) 

其他代码将根据要求上传。谢谢

请您参考如下方法:

用户只会看到自己的帖子

results = Post.objects.all().filter(draft=False).filter(publish__lte=timezone.now()) 
results = results.filter(user=request.user)