2012-05-21 46 views

Trả lời

28

Trong mã Python của bạn làm điều này:

active = True if request.POST.get('active') == 'true' else False 

Hoặc thậm chí đơn giản hơn:

active = request.POST.get('active') == 'true' 

Hãy nhận biết rằng get() chức năng sẽ luôn trả về một chuỗi, vì vậy bạn cần phải chuyển đổi nó theo loại thực tế mà bạn cần.

+3

Tôi sẽ đề nghị những điều sau đây để dễ đọc 'active = request.POST.get ('active', False) == 'true'' – JazzyWhit

6

Giả sử rằng bạn có thể gửi giá trị boolean đến máy chủ như true/false hoặc 1/0, trên server-side bạn có thể kiểm tra cả hai trường hợp với in:

def warning_message(request): 
    active = request.POST.get('active') in ['true', '1'] 
    print active 
    return HttpResponse() 

Nếu không, nếu bạn chắc chắn rằng boolean của bạn sẽ chỉ là true/false sử dụng:

def warning_message(request): 
    active = request.POST.get('active') == 'true' 
    print active 
    return HttpResponse() 
+0

Một đối số có thể được thực hiện là bạn chỉ nên chọn "đúng" hoặc "1" và chỉ chấp nhận một giá trị đó, nhưng đây là giải pháp tốt nếu bạn muốn cả hai. –

+0

@BrendanLong Vâng, đó cũng là suy nghĩ của tôi. – VisioN

Các vấn đề liên quan