Задать вопрос
Ответы пользователя по тегу Django
  • Как настроить celery на разные очереди для разных Django проектов, находящихся на одном сервере?

    @terentjew-alexey
    У RabbitMQ есть возможность настроить виртуальные хосты.
    https://www.rabbitmq.com/vhosts.html

    Соответственно у себя в проектах Вы поднимаете соединение к одному инстансу rabbitmq, но к разным виртуальным хостам.
    # settings.py
    CELERY_BROKER_URL = 'amqp://user:passwd@localhost:5672/my_first_host'
    Ответ написан
    Комментировать
  • Как получить POST запрос от LiqPay, пишет Forbidden (CSRF cookie not set.)?

    @terentjew-alexey
    Так же, как и автор вопроса, столкнулся с данной проблемой, при реализации веб-хуков для чат-ботов.

    Перенаправление на другое приложение django у меня работало изначально.
    Но, при написании универсального приложения, это не выход.

    Изучил исходники django. Судя по всему, каким то образом CsrfViewMiddleware не видит у коллбека (view) поля csrf_exempt, которое и добавляется одноименным декоратором.
    ../django/middleware/csrf.py:212 (django 2.2)

    Соответственно выходом будет добавить данное поле самостоятельно в результирующую view-функцию:
    # Class based view
    @method_decorator(csrf_exempt, name='dispatch')
    class MyViewClass(View):
        @classmethod
        def as_view(cls, **initkwargs):
            view = super().as_view(**initkwargs)
            view.csrf_exempt = True
            return view
    
    # view function
    @csrf_exempt
    def my_view(request, **kwargs):
        return HttpResponse()
    
    my_view.csrf_exempt = True
    Ответ написан
    Комментировать