Найти - Пользователи
Полная версия: Response в 0.9.6.1
Начало » Pyramid / Pylons / TurboGears » Response в 0.9.6.1
1
qoq
Вроде как с версии 0.9.6.1 отменили Response и render_response.
Теперь в контроллере вместо:
return Response (“Hello world!”)
можно писать просто:
return “Hello world!”

Это конечно круто…. Только вот раньше Response был объект и имел атрибуты (status например)… И вся документация к Pylons так или иначе завязана на этом объекте. Как теперь быть? Или я чего то недопонял?
Александр Кошелев
One of the bigger changes in 0.9.6 is the new way to return responses (Note that returning Response objects is still allowed, but is being phased out). A global response object is now made available which can track cookies, headers, and the status code to return to clients, as well as content. This means your controller actions only need to return content, such as a string or generator.
qoq
Спасибо. Это я читал. Только не понял, как мне тогда переделать следующий код:
def private(self):
if request.environ.get(“REMOTE_USER”):
return Response(“You are authenticated!”)
else:
response = Response(“You are not authenticated”)
response.status = “401 Not authenticated”
return response


Мне надо отдать в прослойку (авторизация через Authkit) статус 401. Чтобы вылезло сообщение и форма входа.
Можно конечно тупо:
abort(401) . Но тогда сообщения не будет.

Как вообще по-граммотнее сделать Авторизацию-Аутентификацию? В доках к AutKit почти всё через Response :(
Александр Кошелев
qoq
Спасибо. Это я читал.
Не верится, если честно:)
qoq
Только не понял, как мне тогда переделать следующий код:
1. можно как и раньше возвращать response, но не желательно
2. теперь response глобальный и его не надо создавать самому
Вывод:
def private(self):
if request.environ.get("REMOTE_USER"):
return "You are authenticated!"
else:
response.status = "401 Not authenticated"
return "You are not authenticated"
И всё это там написано и я даже выделил жирным шрифтом:)
qoq
Daevaorn
1. можно как и раньше возвращать response, но не желательно
Так про то и разговор. Сегодня нежелательно, а завтра вообще отрубят. Как тогда делать, если не через response, который через всё проходит красной нитью?
Александр Кошелев
qoq
Как тогда делать, если не через response, который через всё проходит красной нитью?
я написал.
Naota
Хочу реализовать Ajax запрос с возможностью показать пользователю, что запрос не выполнен.
здесь описано как вставить в шаблон ajax код.
Пример:
link_to_remote(word,
dict(url=url(action="action"),
404="alert('Not found...? Wrong URL...?')",
failure="alert('HTTP Error ' + request.status + '!')"))
Но я не могу понять, как реализовать провалившийся запрос. Как я понял, нужно дать статус не 2XX в response.status. Я пробовал цифирки туда писать и текст. Не работает. Но работает abort(401) к примеру. Сообщение о провалившимся запросе вылазит, НО как нажимаешь OK, сразу на странице появляется 401 ответ приложения, с описанием ошибки и всякой всячиной. Как же сделать все нормально?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB