pyramid_signup är ett system för pyramid generisk användarregistrering.
Komma igång
Först Installera beroenden av projektet:
& Nbsp; Pip installera -r requirements.txt
& Nbsp; Python setup.py utveckla
Därefter kör vår konsol skript för att ställa databasen:
& Nbsp; su_setup
Slutligen, för att inkludera pyramid_signup i ditt projekt, i ditt program konfiguration, bör du inkludera paketet pyramid_mailer för validering e-post och glömt lösenord e-post och berätta pyramid_signup vilken session som ska användas för databasobjekt.
& Nbsp; config.include ("pyramid_mailer ')
& Nbsp; från pyramid_signup.interfaces importera ISUSession
& Nbsp; config.registry.registerUtility (DBSession, ISUSession)
& Nbsp; config.include ("pyramid_signup ')
pyramid_signup kräver inte pyramid_tm eller ZopeTransactionManager med din session, men om du inte använder dem du har att ta ett extra steg, vi inte begår transaktioner för dig eftersom det bara inte vore trevligt!
Allt du behöver göra är att prenumerera på förlängningshändelser och begår sessionen själv, detta ger dig också möjlighet att göra lite extra bearbetning innan bearbetningen är klar:
från pyramid_signup.events import PasswordResetEvent
från pyramid_signup.events import NewRegistrationEvent
från pyramid_signup.events import RegistrationActivatedEvent
från pyramid_signup.events import ProfileUpdatedEvent
def handle_request (event):
& Nbsp; begära = 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)
Utöka pyramid_signup
Om du vill ändra någon av de former i pyramid signup, behöver du bara registrera den nya deformeras klassen att använda i registret.
De interaces du har tillgängliga att åsidosätta från pyramid_signup.interfaces:
& Nbsp; ISULoginForm
& Nbsp; ISURegisterForm
& Nbsp; ISUForgotPasswordForm
& Nbsp; ISUResetPasswordForm
& Nbsp; ISUProfileForm
Detta är hur du skulle göra det (uniform är en anpassad deformeras Form klass):
& Nbsp; config.registry.registerUtility (Uniform, ISULoginForm)
Om du vill åsidosätta mallarna kan du använda pyramidens override tillgångs funktionalitet:
& Nbsp; config.override_asset (to_override = 'pyramid_signup: mallar / template.mako', override_with = 'your_package: mallar / anothertemplate.mako')
Mallarna som du har tillgängliga för att åsidosätta är:
& Nbsp; login.mako
& Nbsp; register.mako
& Nbsp; forgot_password.mako
& Nbsp; reset_password.mako
& Nbsp; profile.mako
Om du vill åsidosätta mallar med Jinja2, du måste bara åsidosätta utsikten konfiguration:
config.add_view ('pyramid_signup.views.AuthController', attR = "inloggning", route_name = "inloggning",
& Nbsp; renderaren = 'yourapp: mallar / login.jinja2')
config.add_view ('pyramid_signup.views.ForgotPasswordController', attr = 'FORGOT_PASSWORD',
& Nbsp; route_name = 'FORGOT_PASSWORD', renderaren = 'yourapp: mallar / forgot_password.jinja2')
config.add_view ('pyramid_signup.views.ForgotPasswordController', attr = 'reset_password',
& Nbsp; route_name = 'reset_password', renderaren = 'yourapp: mallar / reset_password.jinja2')
config.add_view ('pyramid_signup.views.RegisterController', attr = 'registrera',
& Nbsp; route_name = 'registrera', renderaren = 'yourapp: mallar / register.jinja2')
config.add_view ('pyramid_signup.views.ProfileController', attr = "profil",
& Nbsp; route_name = "profil", renderaren = 'yourapp: mallar / profile.jinja2')
utveckling
Om du vill hjälpa till att göra några ändringar i pyramid_signup kan du köra sina enhetstester med py.test:
& Nbsp; py.test
och för att kontrollera testtäckning:
& Nbsp; py.test --cov-rapport term-missing --cov pyramid_signup
du kanske också överväga att köra testerna parallellt:
& Nbsp; py.test -N4
Krav :
- Python
- pyramid
Kommentarer hittades inte