Ошибка синтаксиса Python - PullRequest
       3

Ошибка синтаксиса Python

0 голосов
/ 24 августа 2011

Создан метод views.py для получения данных, отправленных из HTML-формы. Помимо получения данных я пытаюсь проверить флажки. Однако мне дают синтаксическую ошибку, но я не понимаю, почему.

Код:

if request.POST:
    startdate = request.POST['startdate']
    enddate = request.POST['enddate']
    getlogs = 0
    if request.POST['getlogs'] = 'on':   << syntax error identified here
        getlogs = 1

Ответы [ 3 ]

7 голосов
/ 24 августа 2011

Вы хотите оператор равенства.

if request.POST['getlogs'] == 'on':

= не является оператором в Python, поскольку присваивание является оператором, а не выражением.

2 голосов
/ 24 августа 2011

заменить:

if request.POST['getlogs'] = 'on':

с

if request.POST['getlogs'] == 'on':
                           ^^

В питоне один знак равенства всегда означает «заставить левую сторону принимать значение с правой стороны», а два всегда означают «сравнить левую сторону с правой стороной». Первый является утверждением и недопустим в контексте выражения сравнения if.

0 голосов
/ 24 августа 2011

Проверка на равенство требует двух знаков равенства, например:

if request.POST['getlogs'] == 'on':
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...