2017-08-14 116 views
2

我在django中有不同的職員可以創建帖子的帖子應用程序。我現在希望能夠在登錄時顯示每個海報張貼內容,並且不包括其他帖子。使用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) 

和額外的代碼將根據要求上傳。由於

回答

2

用戶將只能看到自己的帖子

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

感謝。它工作 – King

+0

或更確切地說是從郵政模型導入並在新視圖中使用 – King

+0

無後顧之憂我想出了它 – King

相關問題