Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中执行搜索_Django_Django Models_Django Views - Fatal编程技术网

如何在django中执行搜索

如何在django中执行搜索,django,django-models,django-views,Django,Django Models,Django Views,我在搜索一篇我目前正在写的博客文章时遇到了问题,它不断给我错误 这是我的观点 def search(request): template = 'articles/search.html' query = request.GET.get('q') results = Article.objects.filter(Q(title__icontains=query) | Q(movie_name__icontains=query)) context = {'res

我在搜索一篇我目前正在写的博客文章时遇到了问题,它不断给我错误

这是我的观点

def search(request):
    template = 'articles/search.html'

    query = request.GET.get('q')

    results = Article.objects.filter(Q(title__icontains=query) | Q(movie_name__icontains=query))

    context = {'results': results}

    return render(request, template, context)
这是我的url.py

url(r'^results/$', views.search, name="search"),
这就是它一直给我的错误

使用
get()查询方法时,必须使用try/except块,如

articleDetails 63中的文件“C:\Users\dafom\Desktop\moviebackend\articles\views.py”。articles=Article.objects.get(slug=slug)
从错误消息中获取

以下是来自以下方面的示例:


问题似乎来自于 articleDetails中的文件“C:\Users\dafom\Desktop\moviebackend\articles\views.py” 63articles=Article.objects.get(slug=slug)

当找不到对象时,尝试使用get()获取数据会引发异常。您可以使用try/catch或django内置的get_object_或_404()来处理它,当找不到对象时,它会抛出一个标准的404错误

从django.shortcuts导入get\u object\u或\u 404
获取对象或404(文章,slug=slug)
除此之外,搜索看起来不错。您可能希望向结果中添加distinct(),否则会得到重复的结果

results=Article.objects.filter(Q(title\u icontains=query)| movie\u name\u\u icontains=query)).distinct()

错误url未打开。错误似乎发生在另一个位置:在
视图.py
63行中,您应该这样做:
articles=Article.objects.get(slug=slug)
看起来您为搜索url粘贴了错误的代码
from django.core.exceptions import ObjectDoesNotExist
try:
    e = Entry.objects.get(id=3)
    b = Blog.objects.get(id=1)
except ObjectDoesNotExist:
    print("Either the entry or blog doesn't exist.")