Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как получить информацию о методах того или иного объекта [RSS Feed]

#1 Май 5, 2008 15:07:34

Aleshka
От:
Зарегистрирован: 2008-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

По туториалу для Джанго разбираюсь с авторизацией пользователей.

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().



Отредактировано (Май 5, 2008 15:08:09)

Офлайн

#2 Май 5, 2008 16:16:31

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

объект session предоставляет те же методы, что и стандартный тип dict



Офлайн

#3 Май 6, 2008 02:17:39

fvk
От:
Зарегистрирован: 2007-10-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

Что-то вроде такого dir(object)
Или если нужны только методы, то

metods = [method for method in dir(session) if callable(getattr(session, method))]
help_string = getattr(session, 'get').__doc__



Офлайн

#4 Май 6, 2008 10:10:23

Aleshka
От:
Зарегистрирован: 2008-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

Спасибо, за ответы, но не пойму как пользоватся документацией на Питоне. Если вепрнутся к приведенному коду. Как я могу получить конкретно информацию по данной методу:
request.session.get('has_commented', False)???



Офлайн

#5 Май 6, 2008 12:48:13

fvk
От:
Зарегистрирован: 2007-10-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

По методу get так

getattr(request.session, 'get').__doc__
Ну или в код заглянуть, это надёжнее



Офлайн

#6 Май 6, 2008 14:07:47

Aleshka
От:
Зарегистрирован: 2008-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

Спасибо. В код уже заглянул и понял это но мне интресно как можно получить доку без заглядывания в код. Спасибо, час роазберусь что значит getattr



Офлайн

#7 Май 6, 2008 15:06:33

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

>>> help(getattr)
>>> help(request.session.get)



Офлайн

#8 Май 6, 2008 16:17:06

Aleshka
От:
Зарегистрирован: 2008-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

j2a
объект session предоставляет те же методы, что и стандартный тип dict
. А как Вы узнали что session предоставляет теже методы, что и dict???



Отредактировано (Май 6, 2008 16:17:39)

Офлайн

#9 Май 6, 2008 16:42:17

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

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.



Отредактировано (Май 6, 2008 16:42:37)

Офлайн

#10 Май 6, 2008 17:00:01

Aleshka
От:
Зарегистрирован: 2008-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить информацию о методах того или иного объекта

Ясно. Спасибо. Разобрался с этим.



Офлайн

  • Начало
  • » Django
  • » Как получить информацию о методах того или иного объекта[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version