Guest User

noreversematch

a guest
Jan 24th, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.91 KB | None | 0 0
  1.  
  2. # account/views.py
  3.  
  4. from django.http import HttpResponse
  5. from django.shortcuts import render, redirect
  6. from django.contrib.auth.decorators import login_required
  7. from django.contrib.auth import authenticate, login
  8. from django.contrib.auth.models import User
  9. from django.contrib import messages
  10. from .forms import LoginForm, CreateAdminForm
  11.  
  12.  
  13. def admin_login(request):
  14. if request.method == 'POST':
  15. form = LoginForm(request.POST)
  16. if form.is_valid():
  17. cd = form.cleaned_data
  18. user = authenticate(
  19. username = cd['username'],
  20. password = cd['password']
  21. )
  22. if user is not None:
  23. if user.is_active:
  24. login(request, user)
  25. return redirect('extensions:index')
  26. else:
  27. messages.error(request, "Invalid login. Please try again")
  28. return render(request, 'account/login.html', {'form': form})
  29. else:
  30. messages.error(request, "Invalid login. Please try again")
  31. return render(request, 'account/login.html', {'form': form})
  32.  
  33. else:
  34. messages.error(request, "Invalid information in the form. Please try again")
  35. return render(request, 'account/login.html', {'form': form})
  36.  
  37. else:
  38. if User.objects.filter().count() == 0:
  39. form = CreateAdminForm()
  40. return render(request, 'account/create_admin_login.html', {'form': form})
  41. else:
  42. form = LoginForm()
  43. return render(request, 'account/login.html', {'form': form})
  44.  
  45.  
  46. def create_admin_login(request):
  47. if request.method == 'POST':
  48. if User.objects.filter().count() == 0:
  49. form = CreateAdminForm(request.POST)
  50. if form.is_valid():
  51. cd = form.cleaned_data
  52. admin_user = form.save(commit=False)
  53. # Set the chosen password
  54. admin_user.set_password(form.cleaned_data['password'])
  55. # save User object
  56. admin_user.save()
  57. messages.success(request, 'Admin user created, please log in.')
  58. ###############################################
  59. # why does this give NoReverseMatch ?
  60. ##############################################
  61. return redirect('account:admin_login')
  62.  
  63. else:
  64. messages.error(request, 'The form was invalid!')
  65. form = CreateAdminForm()
  66. return render(request, 'account/create_admin_login.html', {'form': form})
  67. else:
  68. return render(request, 'account/create_admin_login.html', {'form': form})
  69.  
  70.  
  71.  
  72.  
  73. @login_required
  74. def dashboardView(request):
  75. return render(request, 'account/dashboard.html', {'section':'dashboard'})
  76.  
  77.  
  78. @login_required
  79. def passwordreset(request):
  80. if request.method=='POST':
  81. user_form = UserEditForm(instance=request.user, data=request.POST)
  82. profile_form = ProfileEditForm(instance=request.user.profile, data=request.POST)
  83.  
  84. if user_form.is_valid() and profile_form.is_valid():
  85. user_form.save()
  86. profile_form.save()
  87. messages.success(request, 'Profile updated successfully')
  88. else:
  89. messages.error(request, 'Error updating your profile!')
  90. else:
  91. user_form = UserEditForm(instance=request.user)
  92. profile_form = ProfileEditForm(instance=request.user.profile)
  93.  
  94. return render(request, 'account/passwordreset.html', {'user_form': user_form, 'profile_form': profile_form})
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. -----------------------------------------------------------
  107. # account/urls.py:
  108.  
  109.  
  110.  
  111.  
  112. from django.conf.urls import url
  113. from django.contrib.auth import views as auth_views
  114.  
  115.  
  116. from . import views
  117.  
  118. app_name = 'account'
  119. urlpatterns = [
  120.  
  121. # login / logout URLS
  122.  
  123. url(r'^admin_login/$', views.admin_login, name='admin_login'),
  124. url(r'^create_admin_login/$', views.create_admin_login, name='create_admin_login'),
  125. url(r'^logout/$', auth_views.logout, name='logout'),
  126. url(r'^logout-then-login/$', auth_views.logout_then_login, name='logout_then_login'),
  127.  
  128.  
  129. #password change django.contrib.auth.views
  130. url(r'^password-change/$', auth_views.password_change, name='password_change'),
  131. url(r'^password-change/done/$', auth_views.password_change_done, name='password_change_done'),
  132.  
  133. # reset password django.contrib.auth.views
  134. url(r'^password-reset/$', auth_views.password_reset, name='password_reset'),
  135. url(r'^password-reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
  136. url(r'^password-reset/confirm/(?P<uidb64>[-\w]+)/(?P<token>[-\w]+)/$', auth_views.password_reset_confirm, name='password_reset_confirm'),
  137. url(r'^password-reset/complete/$', auth_views.password_reset_complete, name='password_reset_complete'),
  138. ]
Add Comment
Please, Sign In to add comment