File tree 4 files changed +33
-5
lines changed
4 files changed +33
-5
lines changed Original file line number Diff line number Diff line change 1
1
from django .contrib .auth import authenticate , login , logout
2
+ from django .contrib .auth .forms import UserCreationForm
2
3
from django .shortcuts import render , redirect
3
4
5
+ def register_view (request ):
6
+ form = UserCreationForm (request .POST or None )
7
+ if form .is_valid ():
8
+ user_obj = form .save ()
9
+ return redirect ('/login' )
10
+ context = {"form" : form }
11
+ return render (request , "accounts/register.html" , context )
12
+
4
13
# Create your views here.
5
14
def login_view (request ):
6
15
if request .method == "POST" :
@@ -22,7 +31,4 @@ def logout_view(request):
22
31
if request .method == "POST" :
23
32
logout (request )
24
33
return redirect ("/login/" )
25
- return render (request , "accounts/logout.html" , {})
26
-
27
- def register_view (request ):
28
- return render (request , "accounts/register.html" , {})
34
+ return render (request , "accounts/logout.html" , {})
Original file line number Diff line number Diff line change 17
17
</ div >
18
18
< button type ='submit '> Login</ button >
19
19
</ form >
20
+
21
+ < p > Need an account? Please < a href ='/register '> Register</ a > </ p >
20
22
</ div >
21
23
{% else %}
22
24
< p > You're already logged in. Would you like to < a href ='/logout/ '> logout</ a > ?</ p >
Original file line number Diff line number Diff line change
1
+ {% extends "base.html" %}
2
+
3
+
4
+ {% block content %}
5
+
6
+ {% if not request.user.is_authenticated %}
7
+ < div style ='margin-top:30px; '>
8
+ < form method ='POST '> {% csrf_token %}
9
+ {{ form.as_p }}
10
+ < button type ='submit '> Register</ button >
11
+ </ form >
12
+ < p > Already have an account? Please < a href ='/login '> Login</ a > </ p >
13
+ </ div >
14
+ {% else %}
15
+ < p > You're already logged in and cannot register. Would you like to < a href ='/logout/ '> logout</ a > ?</ p >
16
+ {% endif %}
17
+
18
+ {% endblock %}
Original file line number Diff line number Diff line change 18
18
19
19
from accounts .views import (
20
20
login_view ,
21
- logout_view
21
+ logout_view ,
22
+ register_view
22
23
)
23
24
from articles .views import (
24
25
article_search_view ,
36
37
path ('admin/' , admin .site .urls ),
37
38
path ('login/' , login_view ),
38
39
path ('logout/' , logout_view ),
40
+ path ('register/' , register_view ),
39
41
]
You can’t perform that action at this time.
0 commit comments