使用 django 显示特定帖子
Displaying specific posts using django
我在 django 中有一个 post 应用程序,不同的员工可以在其中创建 post。我现在希望能够在每个 post 用户 post 登录时显示他们,而不包括其他人 post.
型号
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)
我在 django 中有一个 post 应用程序,不同的员工可以在其中创建 post。我现在希望能够在每个 post 用户 post 登录时显示他们,而不包括其他人 post.
型号
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)