Guest User

Untitled

a guest
Dec 10th, 2018
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.52 KB | None | 0 0
  1. NoReverseMatch at /basic_app/user_login/
  2. Reverse for 'basic_app/user_login' not found. 'basic_app/user_login' is not a valid view function or pattern name.
  3.  
  4. Error during template rendering
  5. In template /Users/maxa/Dropbox/workspace/2018/projects/python-django-udemy-bootcamp/myplayground/Django_level_5/learning_users/templates/basic_app/base.html, error at line 6
  6.  
  7. from django.contrib import admin
  8. from django.conf.urls import url, include
  9. from django.urls import path
  10. from basic_app import views
  11.  
  12. urlpatterns = [
  13. url(r'^$',views.index, name='index'),
  14. path('admin/', admin.site.urls),
  15. url(r'^basic_app/',include('basic_app.urls')),
  16. url(r'^logout/$',views.user_logout,name='logout'),
  17. ]
  18.  
  19. from django.conf.urls import url
  20. from basic_app import views
  21.  
  22. # TEMPLATE RULES
  23. app_name = 'basic_app'
  24.  
  25. urlpatterns = [
  26. url(r'^register/$',views.register,name='register'),
  27. url(r'^user_login/$',views.user_login,name='user_login'),
  28. ]
  29.  
  30. from django.shortcuts import render
  31. from basic_app.forms import UserForm, UserProfileInfoForm
  32.  
  33. from django.contrib.auth import authenticate, login, logout
  34. from django.http import HttpResponseRedirect, HttpResponse
  35. from django.urls import reverse
  36. from django.contrib.auth.decorators import login_required
  37.  
  38. # Create your views here.
  39.  
  40. def index(request):
  41. return render(request,'basic_app/index.html')
  42.  
  43. def register(request):
  44. registered = False
  45.  
  46. if request.method == "POST":
  47. user_form = UserForm(data=request.POST)
  48. profile_form = UserProfileInfoForm(data=request.POST)
  49.  
  50. if user_form.is_valid() and profile_form.is_valid():
  51.  
  52. user = user_form.save()
  53. user.set_password(user.password)
  54. user.save()
  55.  
  56. profile = profile_form.save(commit=False)
  57. profile.user = user
  58.  
  59. if 'profile_pic' in request.FILES:
  60. profile.profile_pic = request.FILES['profile_pic']
  61.  
  62. profile.save()
  63.  
  64. registered = True
  65.  
  66. else:
  67. print(user_form.errors,profile_form.errors)
  68.  
  69. else:
  70. user_form = UserForm()
  71. profile_form = UserProfileInfoForm()
  72.  
  73. return render(request,'basic_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})
  74.  
  75. def user_login(request):
  76. if request.method == 'POST':
  77. username = request.POST.get('username')
  78. password = request.POST.get('password')
  79.  
  80. user = authenticate(username=username,password=password)
  81.  
  82. if user:
  83. if user.is_active:
  84. login(request, user)
  85. return HttpResponseRedirect(reverse('index'))
  86. else:
  87. return HttpResponse("Your account is not active.")
  88. else:
  89. print("Someone tried to log in and failed")
  90. print("Username: {}. Password: {}".format(username,password))
  91. return HttpResponse("invalid login details supplied!")
  92.  
  93. else:
  94. return render(request,'basic_app/login.html',{})
  95.  
  96. @login_required
  97. def user_logout(request):
  98. logout(request)
  99. return HttpResponseRedirect(reverse('index'))
  100.  
  101. <!DOCTYPE html>
  102. <html>
  103. <head>
  104. <title></title>
  105.  
  106. <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  107.  
  108. </head>
  109. <body> <nav class="navbar navbar-expand-lg navbar-light bg-light">
  110. <div class="container"><ul class="nav navbar-nav">
  111. <li><a href="{% url 'index' %}" class="navbar-brand" class="nav-link">Home</a></li> <li class="nav-item"><a href="{% url 'admin:index' %}" class="nav-link">Admin</a></li>
  112. <li class="nav-item"><a href="{% url 'basic_app:register' %}" class="nav-link">Register</a></li>
  113.  
  114. {% if user.is_authenticated %}
  115.  
  116. <li><a href="{% url 'logout' %}" class="nav-link">Log Out</li>
  117.  
  118. {% else %}
  119.  
  120. <li><a href="{% url 'basic_app:user_login' %}" class="nav-link">Log In</a></li>
  121.  
  122. {% endif %}
  123.  
  124.  
  125. </ul></div>
  126. </nav>
  127.  
  128. <div class="container">
  129.  
  130. {% block body_block %}
  131. {% endblock %}
  132.  
  133. </div>
  134.  
  135. </body>
  136. </html>
  137.  
  138. {% extends 'basic_app/base.html' %}
  139.  
  140. {% block body_block %}
  141.  
  142. <div class="jumbotron">
  143.  
  144. <h1>Please login</h1>
  145. <form action="{% url 'basic_app/user_login' %}" method="post">
  146. {% csrf_token %}
  147. <label for="username">Username:</label>
  148. <input type="text" name="username" value="" placeholder="Enter Username">
  149.  
  150. <label for="password">Password:</label>
  151. <input type="password" name="password">
  152.  
  153. <input type="submit" name="" value="Login">
  154. </form>
  155.  
  156.  
  157. </div>
  158.  
  159. {% endblock %}
Add Comment
Please, Sign In to add comment