Найти - Пользователи
Полная версия: Как получить информацию о методах того или иного объекта
Начало » Django » Как получить информацию о методах того или иного объекта
1
Aleshka
По туториалу для Джанго разбираюсь с авторизацией пользователей.

def post_comment(request, new_comment):
if request.session.get('has_commented', False):
return HttpResponse(“Вы уже отправили комментарий”)
c = comments.Comment(comment=new_comment)
c.save()
request.session = True
return HttpResponse('Спасибо за ваш комментарий!')

Но работа данного метода request.session.get() мне не понятно. Хотелось бы узнать как я по каждому методу могу получить информацию??? Т.е например, хочу узнать какие методы присутствуют в обьекте session и что делает данный метод request.session.get().
j2a
объект session предоставляет те же методы, что и стандартный тип dict
fvk
Что-то вроде такого dir(object)
Или если нужны только методы, то
metods = [method for method in dir(session) if callable(getattr(session, method))]
help_string = getattr(session, 'get').__doc__
Aleshka
Спасибо, за ответы, но не пойму как пользоватся документацией на Питоне. Если вепрнутся к приведенному коду. Как я могу получить конкретно информацию по данной методу:
request.session.get('has_commented', False)???
fvk
По методу get так
getattr(request.session, 'get').__doc__
Ну или в код заглянуть, это надёжнее
Aleshka
Спасибо. В код уже заглянул и понял это но мне интресно как можно получить доку без заглядывания в код. Спасибо, час роазберусь что значит getattr
j2a
>>> help(getattr)
>>> help(request.session.get)
Aleshka
j2a
объект session предоставляет те же методы, что и стандартный тип dict
. А как Вы узнали что session предоставляет теже методы, что и dict???
Александр Кошелев
Aleshka
. А как Вы узнали что session предоставляет теже методы, что и dict???
хм…
http://www.djangoproject.com/documentation/sessions/#using-sessions-in-views
When SessionMiddleware is activated, each HttpRequest object — the first argument to any Django view function — will have a session attribute, which is a dictionary-like object. You can read it and write to it.
Aleshka
Ясно. Спасибо. Разобрался с этим.
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