我正在django的帮助下创建一个简单的博客应用。
这是我的模特
class categories(models.Model):
Title = models.CharField(max_length=40, default='GST')
class Blog(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
Date = models.DateTimeField(default=datetime.now)
Blog_title = models.CharField(max_length=255)
Description = RichTextUploadingField(blank=True, null=True,config_name='special')
Blog_image = models.ImageField(upload_to='blog_image', null=True, blank=True)
Category = models.ForeignKey(categories,on_delete=models.CASCADE,related_name='Categories', null=True, blank=True)
这是我为搜索创建的视图:
def search(request):
template = 'blog/blog_list.html'
query = request.GET.get('q')
if query:
result = Blog.objects.filter(Q(Blog_title__icontains=query) | Q(Description__icontains=query) | Q(Category__Title__icontains=query))
else:
result = Blog.objects.filter(User=self.request.user).order_by('id')
return render(request, template)
在我的模板中:
<form method='GET' class="form-horizontal" action="{% url 'blog:search' %}">
<div class="box-body">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Search</label>
<div class="col-sm-10">
<input name="q" value="{{request.GET.q}}" placeholder="Search">
</div>
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-info pull-right">Go</button>
</div>
</form>
我不知道代码出了什么问题...当我搜索某些Blog_title或说明时,它会显示空白页...
任何人都可以帮助我找出代码中出了什么问题吗。
谢谢...
答案 0 :(得分:0)
将此return render(request, template)
更改为
return render(request, template, context={'blogs':result})
并在blog_listing页面