2016-10-04 17 views
2

Я новичок в Python, и я изучаю Pyramid, чтобы научиться писать хороший код. Я написал этот корень код завода:pyramid.util.Request исходный код

class RootFactory(object): 
    def __acl__(self): 
     return [ 
      (Allow, 'group:alfa', 'alfa'), 
     ] 

    def __init__(self, request): 
     print(type(request)) 
     pass 

и результат показывает, что «запрос» является <class 'pyramid.util.Request'>, но если открыть модуль pyramid.util.py, чтобы увидеть исходный код, я не нашел класс Request. Я думаю, что этот класс находится в модуле pyramid.request.py

Не могли бы вы объяснить, как это работает?

+0

Да. Это 'pyramid.request.Request'. Единственная причина, по которой я могу думать, что это может быть «pyramid.util.Request» - это своего рода причина сглаживания импорта. Возможно, это связано с вашей кодовой базой. –

ответ

2

Это подробная информация об использовании config.add_request_method. При добавлении методов запроса создается новый объект класса с использованием InstancePropertyHelper, который находится в модуле pyramid.util. Вероятно, это может быть исправлено, но в конце дня фактический класс, о котором мы заботимся, - pyramid.request.Request, так что вы должны искать там проблемы.

 Смежные вопросы

  • Нет связанных вопросов^_^