• Что такое Хендлер джанги?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Обработчик. Есть обработчики высшего уровня, есть специализированные. Так же их можно связывать в цепочки. Задача его поймать запрос, выполнить какое то действие и возвратить результат либо ошибку либо следующий обработчик. Это практически на всех платформах

    https://django-handlers.readthedocs.io/en/latest/t...
    Ответ написан
    Комментировать
  • Аргумент request в функциях Django?

    @antonksa
    Как-то слишком много магии...

    Неужели вы не понимаете, что request не самозарождается внутри функции, как дети в капусте?!

    1. При старте фреймворка джанга ищет все urls.py, вычитывает из них все urlpatterns.
    2. После этого она сохраняет у себя во внутреннем реестре связку урл - функция.
    3. Когда приходит запрос, WSGI вычитывает TCP данные, HTTP данные и формирует WSGIRequest объект всунув в него эту информацию и вызывает главный хендлер джанги.
    4. Хендлер джанги получив этот объект формирует на его основе свой HttpRequest дополняя его джанговскими фичами. После этого находится соответствие урлу и функция обрабатывающаяя этот урл вызывается, с переданным в нее HttpRequest. И кстати не только request. Надо писать:
    def handler(request, *args, **kwargs) -> HttpResponse:
        pass

    потому что джанга может НЕ ТОЛЬКО REQUEST передать в функцию, будете потом тупить, "а почему у меня user_id пишет что не поместилось".

    НЕЛЬЗЯ "№;%% В ВОЗДУХЕ НАПИСАТЬ blabla(request) И ЖДАТЬ ЧТО REQUEST САМОЗАРОДИТСЯ ИЗ НИЧЕГО!!!

    И вообще, у меня сильное ощущение, что вам на три-четыре месяца надо отложить Django и выучить сам питон для начала...
    Ответ написан
    4 комментария
  • Почему загружается картинка через форму Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Во-первых,
    <form action="{% url 'add_news' %}" method="post" enctype="multipart/form-data">

    Во-вторых,
    form = NewsForm(request.POST, request.FILES)
    Ответ написан
    3 комментария