Django:用于渲染的Elif语法

亚当·斯塔吉尔(Adam Starrh)

我有一个模板,可让我在“客户搜索”和“事件搜索”之间来回切换(结果显示在地图上)。

但是,我似乎无法让他们两个一起工作!

class MapView(TemplateView):
    template_name = "index.html"

    def post(self, request, *args, **kwargs):
        if request.POST['customer_search']:
            self.object = CustomerAccount.objects.search(request.POST['customer_search'])
            return HttpResponse(serialize('geojson',self.object), content_type="application/json")
        elif request.POST['event_search']:
            self.object = Event.objects.search(request.POST['event_search'])
            return HttpResponse(serialize('geojson',self.object), content_type="application/json")
        else:
            raise SuspiciousOperation("Blank Request Received")

在这种情况下,当我尝试执行“事件搜索”时,浏览器控制台将返回以下错误:

500: MultiValueDictKeyError at /discover/
"'customer_search'"

如果我颠倒了这些(将事件放在if上,将客户放在elif上),那么当我尝试运行“客户搜索”时,我得到的却是相反的:

500: MultiValueDictKeyError at /discover/
"'event_search'"

我哪里做错了?

保罗·佩索阿

尝试:

request.POST.get('event_search', False)
request.POST.get('customer_search', False)

代替 :

request.POST['customer_search']
request.POST['event_search']

在两种情况下。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章