urls.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.conf.urls import patterns, include, url
  2. from django.core import urlresolvers
  3. from . import forms, views
  4. def build_patterns(alternative_views=None):
  5. def get_view(name):
  6. return getattr(alternative_views, name, getattr(views, name))
  7. return patterns('',
  8. # Registration, login, logout
  9. url(r'^register/$', get_view('RegistrationView').as_view(), name='registration'),
  10. url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'mongo_auth/login.html'}, name='login'),
  11. url(r'^logout/$', get_view('logout'), name='logout'),
  12. # Facebook
  13. url(r'^facebook/login/$', get_view('FacebookLoginView').as_view(), name='facebook_login'),
  14. url(r'^facebook/callback/$', get_view('FacebookCallbackView').as_view(), name='facebook_callback'),
  15. # Twitter
  16. url(r'^twitter/login/$', get_view('TwitterLoginView').as_view(), name='twitter_login'),
  17. url(r'^twitter/callback/$', get_view('TwitterCallbackView').as_view(), name='twitter_callback'),
  18. # Foursquare
  19. url(r'^foursquare/login/$', get_view('FoursquareLoginView').as_view(), name='foursquare_login'),
  20. url(r'^foursquare/callback/$', get_view('FoursquareCallbackView').as_view(), name='foursquare_callback'),
  21. # Google
  22. url(r'^google/login/$', get_view('GoogleLoginView').as_view(), name='google_login'),
  23. url(r'^google/callback/$', get_view('GoogleCallbackView').as_view(), name='google_callback'),
  24. # BrowserID
  25. url(r'^browserid/', get_view('BrowserIDVerifyView').as_view(), name='browserid_verify'),
  26. # Account
  27. url(r'^account/$', get_view('AccountChangeView').as_view(), name='account'),
  28. url(r'^account/password/change/$', get_view('PasswordChangeView').as_view(), name='password_change'),
  29. url(r'^account/confirmation/$', get_view('EmailConfirmationSendToken').as_view(), name='email_confirmation_send_token'),
  30. url(r'^account/confirmation/token/(?:(?P<confirmation_token>\w+)/)?$', get_view('EmailConfirmationProcessToken').as_view(), name='email_confirmaton_process_token'),
  31. # Password reset
  32. url(r'^account/password/reset/$', get_view('password_reset'), name='password_reset', kwargs={
  33. 'password_reset_form': forms.PasswordResetForm,
  34. 'template_name': 'mongo_auth/password_reset_form.html',
  35. 'email_template_name': 'mongo_auth/password_reset_email.txt',
  36. 'subject_template_name': 'mongo_auth/password_reset_subject.txt',
  37. }),
  38. url(r'^account/password/confirm/(?P<uidb36>[-\w]+)/(?P<token>[-\w]+)/$', get_view('password_reset_confirm'), name='password_reset_confirm', kwargs={
  39. 'post_reset_redirect': urlresolvers.reverse_lazy('login'),
  40. 'template_name': 'mongo_auth/password_reset_confirm.html',
  41. }),
  42. )
  43. urlpatterns = build_patterns()