ФорумПрограммированиеPythonDjango → помагите чайнику

помагите чайнику

  • adw0rd

    Сообщения: 22943 Репутация: N Группа: в ухо

    Spritz 29 ноября 2011 г. 12:08, спустя 1 день 11 часов 28 минут



    adw0rd, как дела? хули трубку не берешь, как мудак?
    ты мне звонил?
    Спустя 23 сек.
    наберу тебя сегодня

    ты мне не перезвонил
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22943 Репутация: N Группа: в ухо

    Spritz 29 ноября 2011 г. 12:38, спустя 29 минут 33 секунды


    Ну на самом деле я вообще не понимаю зачем тебе так делать (я о втором твоем кейсе), я бы делал так как всегда:
    /countries/russia/
    /cities/moscow/
    а не кашу
    Спустя 72 сек.
    Но теперь меня самого заинтересовало как влиять на url dispatcher, сейчас копаю сорцы
    думаю решение будет вида:

    def func(request):
       raise ViewDoesNotExists()

    вообщем потрейсил я django.core.urlresolvers и core.handlers.base, там сразу по регулярки матчится (См. django.core.urlresolvers.RegexURLResolver.resolve()) и считается что обязательно должен обработчик его обработать (См. core.handlers.base.BaseHandler.get_response()), ну и там цепь событий по получению response изовсех доступных мест:
    * middleware (request_middleware, view_middleware)
    * функция-обработчик (callback) а если поймает Exception, то попробует получить респонс у exception_middleware
    * Если вернешь объект с атрибутом render и он callable, то он дернет template_response_middleware и запустит response.render()
    * Ну а если ничего не вернешь, то произойдет один из Exception:
    ** http.Http404 -> resolver.resolve404()
    ** exceptions.PermissionDenied -> http.HttpResponseForbidden()
    ** SystemExit -> raise
    ** И напоследок core.handlers.base.BaseHandler.handle_uncaught_exception()
    * response_middleware

    короче, нативной нельзя сейчас переключится в другой url, по крайней мере я не нашел способа
    можно конечно применить манкипатчинг, или через middleware рулить
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 29 ноября 2011 г. 12:56, спустя 18 минут 23 секунды

    adw0rd, спасибо!
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 ноября 2011 г. 13:02, спустя 6 минут 22 секунды

    додразните! тоже питоном займусь :)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 29 ноября 2011 г. 14:57, спустя 1 час 54 минуты 11 секунд

    phpdude, ну и хуле там такого в нем привлекательного?
  • adw0rd

    Сообщения: 22943 Репутация: N Группа: в ухо

    Spritz 29 ноября 2011 г. 17:57, спустя 3 часа 36 секунд


    phpdude, ну и хуле там такого в нем привлекательного?
    да, все хочу написать статью "что именно хорошего в питоне и почему я не хочу php", как напишу так сразу ссылку сюда кину
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!