Наверное все, ну, или почти все Django-разработчики сталкивались с потребностью использовать Ajax в своих проектах. Нет, я не буду рассказывать об ajax в Django вообще, а только о замечательном методе is_ajax() объекта request, который, как известно, передается параметром в обработчик вида. Насколько мне известно по своему опыту и по опыту моих знакомых часто с ним возникает один замечательный казус. Давайте взглянем на следующие строчки кода:
def my_view(request, *args, **kwargs):
...
if request.is_ajax:
...
def my_view(request, *args, **kwargs):
...
if request.is_ajax():
...
Как вы успели догадаться, правильной является вторая запись. Примечательно то, что название метода так и подкупает подумать, что это не метод, а свойсто, то бишь @property, а первый вариант всегда будет возвращать True в условии. Не попадайтесь =).
В точку, только что попался был)
ОтветитьУдалитьПомоему проще запомнить, что в request'е поля не используют, а используют обычно только функции.
ОтветитьУдалитьДа как это? Документация как бы намекает, что в Request API полей примерно столько же, сколько и методов. https://docs.djangoproject.com/en/dev/ref/request-response/. Дело в том, что я попадался на эту гадость, и, оказывается, не я один, поэтому черкнул статейку.
УдалитьПоэтому полез смотреть в инет и увидел вашу запись
ОтветитьУдалить