1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# -*- coding: utf-8 -*-
"""
urls.py for app 'account'
customize 'registration.backends.default.urls' to use custom form
"""
from django.conf.urls import patterns, include, url
from django.views.generic.base import TemplateView
from django.contrib.auth.decorators import login_required
from registration.backends.default.views import ActivationView
from registration.backends.default.views import RegistrationView
from account.views import ProfileView, UpdateProfileView
from account.forms import UserRegForm
urlpatterns = patterns('',
## profile
url(r'^profile/$',
login_required(ProfileView.as_view()),
name='profile'),
# update profile
url(r'^profile/update/$',
login_required(UpdateProfileView.as_view()),
name='profile_update'),
# update profile done
url(r'^profile/update/done/$',
login_required(TemplateView.as_view(template_name='account/profile_update_done.html')),
name='profile_update_done'),
## django auth views
# login
url(r'^login/$', 'django.contrib.auth.views.login',
{'template_name': 'account/login.html'},
name='login'),
# logout
url(r'^logout/$', 'django.contrib.auth.views.logout',
{'template_name': 'account/logout.html'},
name='logout'),
# change password
# If 'post_change_redirect' not provided,
# then redirect to url 'password_change_done'.
url(r'^password/change/$', 'django.contrib.auth.views.password_change',
{'template_name': 'account/password_change.html'},
name='password_change'),
# change password done
url(r'^password/change/done$', 'django.contrib.auth.views.password_change_done',
{'template_name': 'account/password_change_done.html'},
name='password_change_done'),
)
urlpatterns += patterns('',
## django-registration
# 0. registration_disallowed
url(r'^register/closed/$',
TemplateView.as_view(template_name='registration/registration_closed.html'),
name='registration_disallowed'),
# 1. registration_register
url(r'^register/$',
RegistrationView.as_view(form_class=UserRegForm),
name='registration_register'),
# 2. registration_complete
url(r'^register/complete/$',
TemplateView.as_view(template_name='registration/registration_complete.html'),
name='registration_complete'),
# 4. registration_activation_complete
url(r'^activate/complete/$',
TemplateView.as_view(template_name='registration/activation_complete.html'),
name='registration_activation_complete'),
# 3. registration_activate (place this section *AFTER* step 4)
# Activation keys get matched by \w+ instead of the more specific
# [a-fA-F0-9]{40} because a bad activation key should still get to the view;
# that way it can return a sensible "invalid key" message instead of a
# confusing 404.
url(r'^activate/(?P<activation_key>\w+)/$',
ActivationView.as_view(),
name='registration_activate'),
)
|