Python Django从另一个视图调用视图

Python Django从另一个视图调用视图,python,django,django-views,Python,Django,Django Views,因此,我有一个视图,其中显示了一些基于从主页上搜索的人员的数据: def film_chart_view(request): if 'q' in request.GET and request.GET['q']: q = request.GET['q'] # grab the first person on the list try: person_search = Person.objects.filter(sho

因此,我有一个视图,其中显示了一些基于从主页上搜索的人员的数据:

def film_chart_view(request):
    if 'q' in request.GET and request.GET['q']:
        q = request.GET['q']
        # grab the first person on the list
        try:
            person_search = Person.objects.filter(short = q)[0]
            filminfo = filmInfo(person_search.film_set.all())
            film_graph_data = person_search.film_set.all().order_by('date')
        #Step 1: Create a DataPool
            return render_to_response('home/search_results.html',{'query': q, 'high': filminfo[0],
              'graph_data': film_graph_data}, RequestContext(request))
        except IndexError:
            return render_to_response('home/not_found.html',{'query': q}, RequestContext(request))
在主页上,我还想有一个随机按钮,显示一些数据,从一个随机的人在数据库上,并显示它与上述视图。到目前为止,我有这样的看法:

def random_person(request):
    # 1282302 is max number of people currently
    get_random = random.randint(1,1282302)
    get_person = Person.objects.get(pk=get_random)
    person_name = get_person.full

但我不知道如何完成它,所以它重定向到电影图表视图

您可以将适当的url从随机视图重定向到指定的视图,如下所示:

def random_person(request):
    # 1282302 is max number of people currently
    get_random = random.randint(1,1282302)
    get_person = Person.objects.get(pk=get_random)
    person_name = get_person.full
    return HttpResponseRedirect(reverse('film_chart_view')+"?q="+get_person.short)

我的url在url.py中是:url(r'^random/$,'home.views.random\u person'),@user2027556,尝试将其更改为
HttpResponseRedirect(Reverse('home.views.film\u chart\u view')+“?q=“+get\u person.short”)
。我想你也为此添加了url。我得到了“ValueError at/random/The view home.views.random\u person没有返回HttpResponse对象。”现在我只是添加了HttpResponseRedirect(reverse('home.views.film\u chart\u view')+“?q=“+get\u person.sho‌​rt)正如您所说,这就是我得到的错误=/我现在得到了它,在我出于某种原因重新启动本地服务器时工作