pyramid_signup er en generisk bruger registreringsordning for pyramide.
Kom godt i gang
Først Installer afhængigheder af projektet:
& Nbsp; pip installere -r requirements.txt
& Nbsp; python setup.py udvikle
Dernæst drive vores konsol script til opsætning af database:
& Nbsp; su_setup
Endelig, for at omfatte pyramid_signup i dit projekt, i din apps konfiguration, skal du medtage pakken pyramid_mailer for validering e-mail og glemt password e-mail og fortæl pyramid_signup som session til brug for databaseobjekter.
& Nbsp; config.include (»pyramid_mailer)
& Nbsp; fra pyramid_signup.interfaces importerer ISUSession
& Nbsp; config.registry.registerUtility (DBSession, ISUSession)
& Nbsp; config.include (»pyramid_signup)
pyramid_signup kræver ikke pyramid_tm eller ZopeTransactionManager med din session, men hvis du ikke bruger dem, du behøver at tage et ekstra skridt, vi ikke begå transaktioner for dig, fordi der bare ikke ville være rart!
Alt du skal gøre er at abonnere på udvidelse begivenheder og begå sessionen selv, det giver dig også mulighed for at gøre nogle ekstra bearbejdning før behandlingen er færdig:
fra pyramid_signup.events import PasswordResetEvent
fra pyramid_signup.events import NewRegistrationEvent
fra pyramid_signup.events import RegistrationActivatedEvent
fra pyramid_signup.events import ProfileUpdatedEvent
def handle_request (begivenhed):
& Nbsp; anmode = event.request
& Nbsp; session = 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)
Udvidelse pyramid_signup
Hvis du ønsker at ændre nogen af de former Pyramid tilmelding, skal du blot registrere den nye deform klassen til brug i registreringsdatabasen.
De interaces du har til rådighed for at tilsidesætte fra pyramid_signup.interfaces:
& Nbsp; ISULoginForm
& Nbsp; ISURegisterForm
& Nbsp; ISUForgotPasswordForm
& Nbsp; ISUResetPasswordForm
& Nbsp; ISUProfileForm
Dette er, hvordan du ville gøre det (uniform er en brugerdefineret deform Form klasse):
& Nbsp; config.registry.registerUtility (Uniform, ISULoginForm)
Hvis du ønsker at tilsidesætte skabelonerne kan du bruge pyramidens overstyring aktiv funktionalitet:
& Nbsp; config.override_asset (to_override = 'pyramid_signup: templates / template.mako «, override_with =' your_package: templates / anothertemplate.mako ')
Skabelonerne du har til rådighed for at tilsidesætte, er:
& Nbsp; login.mako
& Nbsp; register.mako
& Nbsp; forgot_password.mako
& Nbsp; reset_password.mako
& Nbsp; profile.mako
Hvis du ønsker at tilsidesætte skabeloner med Jinja2, du bare nødt til at tilsidesætte det synspunkt konfiguration:
config.add_view (»pyramid_signup.views.AuthController«, attR = 'login', route_name = 'Login',
& Nbsp; renderer = 'yourapp: templates / login.jinja2')
config.add_view (»pyramid_signup.views.ForgotPasswordController«, attr = 'FORGOT_PASSWORD «,
& Nbsp; route_name = 'FORGOT_PASSWORD «, renderer =' yourapp: templates / forgot_password.jinja2 ')
config.add_view (»pyramid_signup.views.ForgotPasswordController«, attr = 'reset_password «,
& Nbsp; route_name = 'reset_password «, renderer =' yourapp: templates / reset_password.jinja2 ')
config.add_view (»pyramid_signup.views.RegisterController«, attr = 'tilmeld',
& Nbsp; route_name = 'tilmeld', renderer = 'yourapp: templates / register.jinja2')
config.add_view (»pyramid_signup.views.ProfileController«, attr = 'profil',
& Nbsp; route_name = 'profil', renderer = 'yourapp: templates / profile.jinja2')
Udvikling
Hvis du ønsker at bidrage til at gøre eventuelle ændringer til pyramid_signup, kan du køre sine unit test med py.test:
& Nbsp; py.test
og kontrollere test dækning:
& Nbsp; py.test --cov-rapport sigt-mangler --cov pyramid_signup
du måske også overveje at køre prøverne i parallel:
& Nbsp; py.test -N4
Krav :
- Python
- pyramide
Kommentarer ikke fundet