Size: a a a

Django [ru] #STAY HOME

2020 June 12

BK

Boris Krutskih in Django [ru] #STAY HOME
Подскажите пожалуйста в чём может быть дело, пытаюсь выполнить запрос, редирект на другой ресурс и сохранить это всё в БД, но получаю ошибку
https://i.imgur.com/Oq0iNQr.png
источник
2020 June 13

B

BNFF in Django [ru] #STAY HOME
Boris Krutskih
Подскажите пожалуйста в чём может быть дело, пытаюсь выполнить запрос, редирект на другой ресурс и сохранить это всё в БД, но получаю ошибку
https://i.imgur.com/Oq0iNQr.png
Там ведь написано.
источник

B

BNFF in Django [ru] #STAY HOME
Не поддерживает get запрос
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
BNFF
Не поддерживает get запрос
поменял запрос с post на get, только теперь несовсем понимаю, как в get указать чтобы я мог передать урл на который делается редирект?
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
BNFF
Там ведь написано.
вот такой сейчас у меня код
class RedirectView(APIView):

   def get(self, request):
       redirect_to = request.data.get('to')
       print(redirect_to)
       if not redirect_to:
           raise Http404
       referrer = request.META.get('HTTP_REFERER', '')
       user_agent = request.META.get('HTTP_USER_AGENT', '')
       ip = request.META.get('REMOTE_ADDR', '')
       redirect_info(redirect_to, referrer, ip, user_agent)

       return HttpResponseRedirect(redirect_to)
источник

B

BNFF in Django [ru] #STAY HOME
Boris Krutskih
поменял запрос с post на get, только теперь несовсем понимаю, как в get указать чтобы я мог передать урл на который делается редирект?
Как и раньше
источник

B

BNFF in Django [ru] #STAY HOME
Через ?
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
BNFF
Через ?
но я почему-то получаю not found https://i.imgur.com/1wgJyIJ.png
и в БД сохранение не идёт
источник

AD

Alex Dem in Django [ru] #STAY HOME
Boris Krutskih
вот такой сейчас у меня код
class RedirectView(APIView):

   def get(self, request):
       redirect_to = request.data.get('to')
       print(redirect_to)
       if not redirect_to:
           raise Http404
       referrer = request.META.get('HTTP_REFERER', '')
       user_agent = request.META.get('HTTP_USER_AGENT', '')
       ip = request.META.get('REMOTE_ADDR', '')
       redirect_info(redirect_to, referrer, ip, user_agent)

       return HttpResponseRedirect(redirect_to)
насколько мне помнится, надо request.query_params.get('to')
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Alex Dem
насколько мне помнится, надо request.query_params.get('to')
Да, таким образом все окей.
Додумался 😁
источник

AD

Alex Dem in Django [ru] #STAY HOME
Boris Krutskih
Да, таким образом все окей.
Додумался 😁
но в целом я бы не советовал так делать (редиректы):
DRF (внезапно) наследник REST архитектуры, и одно из основных ее положений - stateless модель
источник

D

D in Django [ru] #STAY HOME
D
А есть ли где-то готовый тег, аналог рельсового link_to_unless_current или типа, который бы выдавал:
— плейн текст, если URL==текущему,
— ссылку, если URL не текущий,
— ссылку, но с особым классом, если URL есть в пути (ну это как бонус)?
Сделал таки первый тег:
{% link_unless_curent 'path_name' optional_link_text %}

Выдает, если ссылка:
<a href="{ reverse(path_name) }">{ link_text }</a>
если текущая:
<strong>{ link_text }</strong>

(как же мне это все нравится!1)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Boris Krutskih
вот такой сейчас у меня код
class RedirectView(APIView):

   def get(self, request):
       redirect_to = request.data.get('to')
       print(redirect_to)
       if not redirect_to:
           raise Http404
       referrer = request.META.get('HTTP_REFERER', '')
       user_agent = request.META.get('HTTP_USER_AGENT', '')
       ip = request.META.get('REMOTE_ADDR', '')
       redirect_info(redirect_to, referrer, ip, user_agent)

       return HttpResponseRedirect(redirect_to)
Пожалуйста, посмотри в закрепе как выкладывать код. И, да, твоя задумка очень странная, если ты на ней просто учишься - ладно, но все равно есть ощущение что ты не понимаешь зачем рестапи
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
D
Сделал таки первый тег:
{% link_unless_curent 'path_name' optional_link_text %}

Выдает, если ссылка:
<a href="{ reverse(path_name) }">{ link_text }</a>
если текущая:
<strong>{ link_text }</strong>

(как же мне это все нравится!1)
Молодец! Теперь выкладывай, делись с остальными)
источник

N

Nire in Django [ru] #STAY HOME
Народ, киньте плес статью или гайд как правильно выносить сервер авторизации и аутентификацию и вообще, управление юзером в микросервис.

Хочу отделить от Джанго и свою экосистему делать на основе реги в одном месте (единый профиль внутри приложений в предприятии)

Дело в том, что есть допустим сайт на Джанго, есть также внутренние сервисы типа почты и Корп чата. Хочу на них общую авторизацию и аутентификацию сделать
источник

N

Nire in Django [ru] #STAY HOME
Пока все громоздко накидано на один общий сервер
источник

S

Sergey in Django [ru] #STAY HOME
Nire
Народ, киньте плес статью или гайд как правильно выносить сервер авторизации и аутентификацию и вообще, управление юзером в микросервис.

Хочу отделить от Джанго и свою экосистему делать на основе реги в одном месте (единый профиль внутри приложений в предприятии)

Дело в том, что есть допустим сайт на Джанго, есть также внутренние сервисы типа почты и Корп чата. Хочу на них общую авторизацию и аутентификацию сделать
гугли auth0, freeipa etc..
источник

S

Sergey in Django [ru] #STAY HOME
источник

N

Nire in Django [ru] #STAY HOME
Я делал оауз2, но мне бы паттерны с джанго
источник

S

Sergey in Django [ru] #STAY HOME
это не паттерн джанго, это варианты построения архитектуры авторизации

при чём тут джанго, если механизм один и тот же?
источник