pyramid_signup является общим система регистрации пользователей для пирамиды.
Начало работы
Во-первых, установить зависимости проекта:
& NBSP; пункт установить -r requirements.txt
& NBSP; питон setup.py разработки
Далее, запускаем наш скрипт консоли для установки базы данных:
& NBSP; su_setup
Наконец, чтобы включить pyramid_signup в вашем проекте, в вашей конфигурации приложений, вы должны включить пакет pyramid_mailer для проверки электронной почты и забыл пароль по электронной почте и скажите pyramid_signup, заседание которого на использование для объектов баз данных.
& NBSP; config.include ('pyramid_mailer')
& NBSP; от pyramid_signup.interfaces импортировать ISUSession
& NBSP; config.registry.registerUtility (DBSession, ISUSession)
& NBSP; config.include ('pyramid_signup')
pyramid_signup не требует pyramid_tm или ZopeTransactionManager с вашей сессии, но если вы не используете их вы должны принять один дополнительный шаг, мы не совершают сделок для вас, потому что просто не было бы неплохо!
Все, что вам нужно сделать, это подписаться на расширение мероприятий и совершить сессию себя, это также дает вам возможность сделать некоторые дополнительные обработки, прежде чем завершения обработки:
от pyramid_signup.events импорта PasswordResetEvent
от pyramid_signup.events импорта NewRegistrationEvent
от pyramid_signup.events импорта RegistrationActivatedEvent
от pyramid_signup.events импорта ProfileUpdatedEvent
Def handle_request (событие):
& NBSP; запросить = event.request
& NBSP; сессия = request.registry.getUtility (ISUSession)
& NBSP; session.commit ()
self.config.add_subscriber (handle_request, PasswordResetEvent)
self.config.add_subscriber (handle_request, NewRegistrationEvent)
self.config.add_subscriber (handle_request, RegistrationActivatedEvent)
self.config.add_subscriber (handle_request, ProfileUpdatedEvent)
Расширение pyramid_signup
Если вы хотели бы изменить любой из форм в пирамиды Зарегистрируйся, нужно просто зарегистрировать новый класс деформироваться использовать в реестре.
В interaces вы доступны для переопределения из pyramid_signup.interfaces:
& NBSP; ISULoginForm
& NBSP; ISURegisterForm
& NBSP; ISUForgotPasswordForm
& NBSP; ISUResetPasswordForm
& NBSP; ISUProfileForm
Это, как вы могли бы сделать это (единая быть обычай деформировать класс форма):
& NBSP; config.registry.registerUtility (Uniform, ISULoginForm)
Если вы хотите переопределить шаблоны можно использовать функциональность переопределения активов пирамиды:
& NBSP; config.override_asset (to_override = 'pyramid_signup: шаблоны / template.mako ", override_with =' your_package: шаблоны / anothertemplate.mako ')
Шаблоны вас имеется переопределить, являются:
& NBSP; login.mako
& NBSP; register.mako
& NBSP; forgot_password.mako
& NBSP; reset_password.mako
& NBSP; profile.mako
Если вы хотите переопределить шаблоны с jinja2, вы просто должны переопределить конфигурацию вид:
config.add_view ('pyramid_signup.views.AuthController ", атр =' Логин ',' route_name = Войти",
& NBSP; визуализации = 'YourApp: шаблоны / login.jinja2')
config.add_view ('pyramid_signup.views.ForgotPasswordController ", атр =' forgot_password",
& NBSP; route_name = 'forgot_password ", визуализации =' YourApp: шаблоны / forgot_password.jinja2 ')
config.add_view ('pyramid_signup.views.ForgotPasswordController ", атр =' reset_password",
& NBSP; route_name = 'reset_password ", визуализации =' YourApp: шаблоны / reset_password.jinja2 ')
config.add_view ('pyramid_signup.views.RegisterController ", атр =' регистрация ',
& NBSP; route_name = 'регистрация', 'визуализации = YourApp: шаблоны / register.jinja2')
config.add_view ('pyramid_signup.views.ProfileController ", атр =' Профиль ',
& NBSP; route_name = 'Профиль', визуализации = 'YourApp: шаблоны / profile.jinja2')
Разработка
Если вы хотели бы помочь сделать какие-либо изменения pyramid_signup, вы можете запустить его юнит-тестов с py.test:
& NBSP; py.test
и проверить тестовое покрытие:
& NBSP; py.test --cov-отчет термин пропущенных --cov pyramid_signup
Вы могли бы также рассмотреть запуска тестов параллельно:
& NBSP; py.test -n4
Требования
- Python
- пирамида
Комментарии не найдены