From 4681cef5846acd10895d078b38dc21c96f491a9a Mon Sep 17 00:00:00 2001 From: Sharad Ahlawat Date: Mon, 9 Mar 2020 21:41:52 -0700 Subject: [PATCH] user signup --- accounts/templates/accounts/login.html | 4 ++++ accounts/templates/accounts/signout.html | 4 ++++ accounts/templates/accounts/signup.html | 25 +++++++++++++++++++++ accounts/urls.py | 8 +++++++ accounts/views.py | 28 ++++++++++++++++++++++-- producthunt/templates/base.html | 9 +------- producthunt/urls.py | 3 ++- requirements.txt | 1 + 8 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 accounts/templates/accounts/login.html create mode 100644 accounts/templates/accounts/signout.html create mode 100644 accounts/templates/accounts/signup.html create mode 100644 accounts/urls.py diff --git a/accounts/templates/accounts/login.html b/accounts/templates/accounts/login.html new file mode 100644 index 0000000..8e81099 --- /dev/null +++ b/accounts/templates/accounts/login.html @@ -0,0 +1,4 @@ +{% extends 'base.html' %} +{% block content %} + HI +{% endblock %} diff --git a/accounts/templates/accounts/signout.html b/accounts/templates/accounts/signout.html new file mode 100644 index 0000000..8e81099 --- /dev/null +++ b/accounts/templates/accounts/signout.html @@ -0,0 +1,4 @@ +{% extends 'base.html' %} +{% block content %} + HI +{% endblock %} diff --git a/accounts/templates/accounts/signup.html b/accounts/templates/accounts/signup.html new file mode 100644 index 0000000..1e0cf3b --- /dev/null +++ b/accounts/templates/accounts/signup.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} +{% block content %} + {% if error %} + {{ error }} +
+
+ {% endif %} +

Sign Up!

+
+ {% csrf_token %} + Username: +
+ +
+ Password: +
+ +
+ Confirm Password: +
+ +

+ +
+{% endblock %} diff --git a/accounts/urls.py b/accounts/urls.py new file mode 100644 index 0000000..cac6d99 --- /dev/null +++ b/accounts/urls.py @@ -0,0 +1,8 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('signup', views.signup, name='signup'), + path('login', views.login, name='login'), + path('logout', views.logout, name='logout'), + ] diff --git a/accounts/views.py b/accounts/views.py index 91ea44a..03da391 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -1,3 +1,27 @@ -from django.shortcuts import render +from django.shortcuts import render, redirect +from django.contrib.auth.models import User +from django.contrib import auth -# Create your views here. + +def signup(request): + if request.method == 'POST': + if request.POST['password1'] == request.POST['password2']: + try: + User.objects.get(username=request.POST['username']) + return render(request, 'accounts/signup.html', {'error': 'username already signed up'}) + except User.DoesNotExist: + user = User.objects.create_user(request.POST['username'], password=request.POST['password1']) + auth.login(request, user) + return redirect('home') + else: + return render(request, 'accounts/signup.html', {'error': 'passwords must match'}) + else: + return render(request, 'accounts/signup.html') + + +def login(request): + return render(request, 'accounts/login.html') + + +def logout(request): + return render(request, '/accounts/login.html') diff --git a/producthunt/templates/base.html b/producthunt/templates/base.html index 664d663..7531969 100644 --- a/producthunt/templates/base.html +++ b/producthunt/templates/base.html @@ -17,13 +17,6 @@ integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - - - - - - - @@ -56,7 +49,7 @@