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.short)正如您所说,这就是我得到的错误=/我现在得到了它,在我出于某种原因重新启动本地服务器时工作