目前我在我的视图中检索这样的值:
is_service = request.POST.get('is_service', '')
然后我想检查这个值是否为假以及是否要做某事。目前我有
if is_service == 0 :
Do Something
我尝试过很多其他变体,例如if is_service == False
等等。
在视图中进行此比较的正确语法是什么
编辑这是我的is_service定义:
class Service(models.Model):
...
is_service = models.BooleanField(default=False)
...
答案 0 :(得分:1)
您应该使用Django form
或modelForm
并为is_service
字段指定布尔类型。 Django会将用户提供的字符串规范化为正确的python类型。
class MyForm(forms.Form):
is_service = forms.BooleanField()
def some_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
is_service = form.cleaned_data['is_service']
if not is_service:
# do something
else:
form = MyForm()
return render(request, 'some_view.html', {'form': form})
<form action="/some_view/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>