2017-03-16 84 views
0

views.py:全局名称 'estadis' 没有定义

@login_required 
def ListEspeci(request, id_especialidad): 
    especialidad = Especialidad.objects.get(id=id_especialidad) 

    if request.method == 'GET': 
    if estadis == Especialidad.objects.filter(estadistica=0): 
     form = EstadisticaForm(request.POST, instance=especialidad) 

     if form.is_valid(): 
     form.save() 

     return HttpResponseRedirect('/solicitar/lista/%s/' % id_especialidad) 

    return render(request, 'estadis.html', {'form':form}) 
    if estadis == Especialidad.objects.filter(estadistica > 0): 
    pedido = Pedido.objects.filter(especialidad=especialidad) 

    return render(request, 'index2.html', {'pedido':pedido, 'especialidad':especialidad}) 

models.py:

class Especialidad(models.Model): 
nombre  = models.CharField(max_length=50, blank=True) 
estadistica = models.IntegerField(blank=True) 
encargado  = models.ForeignKey('Encargado', blank=True, on_delete=models.CASCADE) 

首先,我捕捉到专业模式的ID,那么我相信,如果有条件,如果专业的统计字段等于0,它会发送给我一个模型表单的模板以输入数量,否则它会将表格传递给模板。

也许我没有很好地表达理想的逻辑,有些帮助吗?请

+0

是变量'estadis'全球?我没有看到它的定义 – user3148949

+0

我修正了你的缩进。你可以运行它,让我知道如果你仍然得到一个错误? – user2896976

+0

是的!全球名称'estadis'未定义,更新视图! –

回答

1

你的if语句有一个平等的而不是双,并且缺少一个冒号:

if estadis = Especialidad.objects.filter(estadistica=0) 

if estadis == Especialidad.objects.filter(estadistica=0): 
+0

我仍然得到该行同样的错误 –

+0

@DemaroCreate错过了一些东西,已更新。您还需要冒号 – user2896976

+0

我不明白您的意见 –

-1

你的代码似乎有两个问题 -

  1. 缩进:在Python中,代码块基于缩进来识别,所以它们应该一致。您似乎有不同的缩进(在第#221行的单个空间,双空间和制表符空间),函数声明后没有缩进。您可以在任何地方使用制表符缩进。

  2. python中的语句在末尾用':'开始一个新块,下一行被缩进。所以在你的情况下,if语句最后需要':'。

相关问题