Size: a a a

Django [ru] #STAY HOME

2021 February 12

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Мне такой ответ дали
_________
1. он и не должен быть в request.POST - потому что это A dictionary-like object containing all given HTTP POST parameters
написано ж всё
https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpRequest.POST

2. при включение csrf я не могу получить доступ. для json он не нужен. отключи его на view https://docs.djangoproject.com/en/3.1/ref/csrf/#django.views.decorators.csrf.csrf_exempt
источник

S

Solum in Django [ru] #STAY HOME
Да, но при включение csrf я получаю ошибку, а если беру данные из request.data то не получаю
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Да, но при включение csrf я получаю ошибку, а если беру данные из request.data то не получаю
для отключения csrf есть декоратор
источник

S

Solum in Django [ru] #STAY HOME
Ведь как оказалось Django сам и нарушает свои же правила, в Middleware читает запрос и блокируется доступ
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
для отключения csrf есть декоратор
В целом такой проблемы не должно быть
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Ведь как оказалось Django сам и нарушает свои же правила, в Middleware читает запрос и блокируется доступ
какие такие правила?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
В целом такой проблемы не должно быть
а ты представляешь как работает и для чего этот csrf нужен?
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
а ты представляешь как работает и для чего этот csrf нужен?
Да, знаю
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
какие такие правила?
Что в посреднике нельзя использовать request.POST или body, в документации написано, а потом по метка что csrf посредник как исключение, но он блокирует body
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Что в посреднике нельзя использовать request.POST или body, в документации написано, а потом по метка что csrf посредник как исключение, но он блокирует body
ничего не понял)
тебе нужен только один/всего несколько эндпоинтов для обмена данными в JSON или их будет много?
если будет много, то не изобретай велосипед и ставь drf.

А если мало, то навешивай декоратор отключения проверки csrf и спокойно работай. А то там где не надо - велосипед, а где надо - "В целом такой проблемы не должно быть"
источник

РШ

Роман Шапран... in Django [ru] #STAY HOME
Sergei
Всем привет ) Подскажите как в Джанго  сетать интервал в месяц ,ведь в каждом месяце разное количество дней ...(
from dateutil.relativedelta import relativedelta
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
ничего не понял)
тебе нужен только один/всего несколько эндпоинтов для обмена данными в JSON или их будет много?
если будет много, то не изобретай велосипед и ставь drf.

А если мало, то навешивай декоратор отключения проверки csrf и спокойно работай. А то там где не надо - велосипед, а где надо - "В целом такой проблемы не должно быть"
Я уже получил все с request.data или это бед практика?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Я уже получил все с request.data или это бед практика?
имхо - да. это bad practice
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
имхо - да. это bad practice
Но почему?
источник

S

Solum in Django [ru] #STAY HOME
Ведь нужные данные есть, сложные структуры понимает, типы данных тоже
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
имхо - да. это bad practice
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Solum
Но почему?
ты же пишешь не либу для общего использования, а решаешь свою проблему и "изобрел велосипед"

есть приемы обхода проблемы с csrf, и есть методы request описанные в доке. Ты заюзал данные из "технического слоя" фреймворка.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
так drf или просто джанго?
источник

S

Solum in Django [ru] #STAY HOME
Artem Gubatenko
так drf или просто джанго?
Drf
источник

T

Table in Django [ru] #STAY HOME
def add(request):
   if request.method == "POST":
       form = TicketForm(request.POST)
       if form.is_valid():
           if "_save" in request.POST:
              логика работы

есть вот такой код, который смотрит, если нажата кнопка сохранить то он делает что-то, столкнулся с моментом, если нажать не кнопку на странице, а кнопку Enter на клавиатуре, то обрабатывается совсем не так как надо
так вот, как из request.POST получить информацию, что нажали кнопку enter, или вообще можно отключить возможность использовать кнопку?
источник