Size: a a a

Django [ru] #STAY HOME

2019 February 16

BE

Black Eyes in Django [ru] #STAY HOME
ACCOUNT_UNIQUE_EMAIL = False ?
источник

BE

Black Eyes in Django [ru] #STAY HOME
В общем вот такая ситуация
Пользователь с таким e-mail уже зарегистрирован. Чтобы подключить свой VK аккаунт, пожалуйста, авторизуйтесь.
источник

BE

Black Eyes in Django [ru] #STAY HOME
И вообще это безопасно кстати? Кажется я нашел решение.
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
Всем привет! Встретился вчера с задачей нестандартной. На реквест совершать реквест на сторонний ресурс, получать данные, корректировать и отправлять в респонсе. Пытался делать во вьюхе запрос через requests.  Слал данные постом, но сервер стороннего ресурса выдает код 405 и сообщение, что метод гет не поддерживается. Как такое может быть? Если отдельно питоном совершать реквест, то все хорошо отрабатывает.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alexey Dergunov
Всем привет! Встретился вчера с задачей нестандартной. На реквест совершать реквест на сторонний ресурс, получать данные, корректировать и отправлять в респонсе. Пытался делать во вьюхе запрос через requests.  Слал данные постом, но сервер стороннего ресурса выдает код 405 и сообщение, что метод гет не поддерживается. Как такое может быть? Если отдельно питоном совершать реквест, то все хорошо отрабатывает.
те один и тот же код просто и в во въюхе работает по разному ?
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
ага
источник

DT

Dan Tyan in Django [ru] #STAY HOME
покажи код запрос
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
class OnBootStationView(GenericAPIView):
   permission_classes = (IsAuthenticated, StationOnly)
   serializer_class = OnBootSerializer
   def post(self, request, *args, **kwargs) -> Response:
       serializer = self.get_serializer(data=request.data)
       serializer.is_valid(raise_exception=True)

       result = ProcessValidDataOnBootStation(serializer).run()

       url = f'{settings.GENERAL_AGENT_BASE_URL}/api/onboot/'

       url = f'{settings.GENERAL_AGENT_BASE_URL}/api/onboot/'
       headers = {'Authorization': f'Token {config.TOKEN}',
                  'Content-Type': 'application/json'}
       data = request.data
       r = requests.post(url, json=data, headers=headers)
       if r.status_code != 200:
           err = f'URL: {url}. Data: {data}. ' \
               f'Headers: {headers} ' \
               f'Content: {r.content.decode()}. ' \
               f'Status code: {r.status_code}'
           logger.error(err)
           return Response({'error': result}, status=400)

       return Response({"status": "ok"})
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
даже после того как все выкинул и написал самым простым способом, не хочет запрос пролазить
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
делал запрос в цикле, т.к. иногда ресурс не в зоне доступа. прилетали статусы 301 и последний 405
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну 301 это редирект
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
Но почему одиночный запрос отправляется не постом, как я его вызываю, а гетом?
источник

AD

Alexey Dergunov in Django [ru] #STAY HOME
Если не нужно было ретранслировать ответ, то повесил задачу в целери и огонь. А тут нужно получить ответ, обработать и отослать клиенту. Если кто знает как это сделать, буду очень благодарен=)
источник

A

Alexandr in Django [ru] #STAY HOME
Подскажите пожалуйста, что надо сделать, чтобы в стандартной админке был выпадающий список значений? Например статус статьи - опубликована/не опубликована? И чтоб при выборе категории для поста не отображались неактивные в фильтре
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Это в форме?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
У тебя статусы как сделаны?
источник

A

Alexandr in Django [ru] #STAY HOME
никак, хотел константами
источник

A

Alexandr in Django [ru] #STAY HOME
типа STATUS_ACTIVE = 1, STATUS_DISABLED = 2
источник

DT

Dan Tyan in Django [ru] #STAY HOME
А поле как сделано?
источник

A

Alexandr in Django [ru] #STAY HOME
status = models.SmallIntegerField(verbose_name='Статус')
источник