From f6931ce6783b4f566324de55e67999e1d972c914 Mon Sep 17 00:00:00 2001 From: YasmineAfifi Date: Fri, 2 Feb 2024 12:38:44 -0500 Subject: [PATCH 1/2] add pages --- server/db.sqlite3 | Bin 0 -> 131072 bytes .../djangoapp/templates/djangoapp/about.html | 5 ++++ .../templates/djangoapp/contact.html | 6 ++++ .../templates/djangoapp/djangotemplete.html | 1 + .../djangoapp/templates/djangoapp/index.html | 28 +++++++++++++++--- server/djangoapp/urls.py | 4 ++- server/djangoapp/views.py | 10 ++++--- 7 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 server/db.sqlite3 create mode 100644 server/djangoapp/templates/djangoapp/about.html create mode 100644 server/djangoapp/templates/djangoapp/contact.html create mode 100644 server/djangoapp/templates/djangoapp/djangotemplete.html diff --git a/server/db.sqlite3 b/server/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..b177a2adc1318d458fd0e4d828f7357b9dc48cfd GIT binary patch literal 131072 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 B_Z +

+Welcome to Best Cars dealership, home to the best cars in North America. We sell domestic and imported cars at reasonable prices. +

+ \ No newline at end of file diff --git a/server/djangoapp/templates/djangoapp/contact.html b/server/djangoapp/templates/djangoapp/contact.html new file mode 100644 index 0000000000..be232cf600 --- /dev/null +++ b/server/djangoapp/templates/djangoapp/contact.html @@ -0,0 +1,6 @@ + +

Address

+

30 street departement 5

+

Phone

+

1111111111

+ \ No newline at end of file diff --git a/server/djangoapp/templates/djangoapp/djangotemplete.html b/server/djangoapp/templates/djangoapp/djangotemplete.html new file mode 100644 index 0000000000..5e1c309dae --- /dev/null +++ b/server/djangoapp/templates/djangoapp/djangotemplete.html @@ -0,0 +1 @@ +Hello World \ No newline at end of file diff --git a/server/djangoapp/templates/djangoapp/index.html b/server/djangoapp/templates/djangoapp/index.html index 1a9ee6e39a..4f2d0c6cbf 100644 --- a/server/djangoapp/templates/djangoapp/index.html +++ b/server/djangoapp/templates/djangoapp/index.html @@ -10,16 +10,36 @@ - + - This is the index page of your Django app! - + - + diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index 37b1c89d01..cb658090c8 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -10,8 +10,10 @@ # name the URL # path for about view + path(route='about', view=views.about, name='about'), # path for contact us view + path(route='contact', view=views.contact, name='contact'), # path for registration @@ -20,7 +22,7 @@ # path for logout path(route='', view=views.get_dealerships, name='index'), - + path(route='django/', view=views.get_templete, name='django'), # path for dealer reviews view # path for add a review view diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 61cc664da0..e4678de01e 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -16,14 +16,16 @@ # Create your views here. - +def get_templete(request): + return render (request,'djangoapp/djangotemplete.html') # Create an `about` view to render a static about page -# def about(request): -# ... +def about(request): + return render (request,'djangoapp/about.html') # Create a `contact` view to return a static contact page -#def contact(request): +def contact(request): + return render (request,'djangoapp/contact.html') # Create a `login_request` view to handle sign in request # def login_request(request): From 262a319cf937bbadb959d3e2797b74c6a8349fb7 Mon Sep 17 00:00:00 2001 From: YasmineAfifi Date: Fri, 2 Feb 2024 16:07:47 -0500 Subject: [PATCH 2/2] login --- server/db.sqlite3 | Bin 131072 -> 131072 bytes .../djangoapp/templates/djangoapp/index.html | 21 ++++++++++ .../djangoapp/templates/djangoapp/login.html | 28 ++++++++++++++ .../templates/djangoapp/registration.html | 25 +++++++++++- server/djangoapp/urls.py | 4 +- server/djangoapp/views.py | 36 +++++++++++++----- 6 files changed, 102 insertions(+), 12 deletions(-) create mode 100644 server/djangoapp/templates/djangoapp/login.html diff --git a/server/db.sqlite3 b/server/db.sqlite3 index b177a2adc1318d458fd0e4d828f7357b9dc48cfd..ac3fc956d9c14ea7b3f6905d9333bb69a95e1c86 100644 GIT binary patch delta 2824 zcmai$ON`@K6^4^aKa%RMcz_YzQp0q&x`YNbNnc+-t{n*p=lxEcR4Per(vB0`iQ{){ z$JwN-5gU*g9t$KEEJiFrsAvQlv1B=$kzj*_gv1VpB@#PCTvc6Emr9i7+|4=hckVss z{O7)U6@T?A{)0!+qaS`H7d<+8`SIiTe;T=ic@gaI*q^Z9V;=TB>=)STO_JgM-d=J??aph0PL%})C0g_G=NX{vy#RiFbDP4iyBXr z=@&E3D)pPs#b$tK6*k{k*=*gVe7!Yhz6k*&Qvhz?ClJp7a{H!n5-=191V@|c(~W+` zg~&iM%^(^;c{_}fo_f^8#r3Gj5ojj&jh<2lW6=Sbwc@E2`T(;7uf&vr90=pegzQPnc5}7Xm1%w?c}B735i7%V*OlQR z*=cmUM&&37I(Vm018R$JcOC9vq1m%h#gOrF(O>DydWCmU8)VrOPnP@)ZufyAXDH>M zC9gFZ=Apzaj~4Z2s@!QGrlveI&N|cvACjwLk5CGwsqyx}ar$xvQ4GT_6So=xhvbDW z3MwTtj;bq+985&dWN2B0Dip>9H6_3)mTPA!qk>}E%FHXmS)ViXny^^Fre8Mbl~q{a z{Yt&!xwRbJ%=p4(EXY7ML*i*j0~!&_c!;$Sv`mJ}r|7z3c{q=ziWBG5wA%>b8H?$V!0-~vlz#^qKkH*z|&d83mLm{hi+AR(yI zi>X<3N5PD&)<@#Fq4G}e%4Rog24~X*3vhyY{q)XhDUJaY^q>yvBHxp`8fz^(1ifE2! zON#8bS1r`gaswiuHnLRf(Oe#`+KSb-1ynD$6+Tr^k++`I5bK#E1@usOxM_?Mh`Kkbch3H7BOrHfskSkJ^o*+g0J{tP~kNqoneIUTK=6 z1vy@iRDti|_C{|XPzOQZ>^1w$s$ZYXN)DeV!mXXqU!5!lS6ef!w!2WjVwy*nZs6>AKMG6LG@R(4VT7bqpk4qD0TaeSfc0IO1gu8R1p6%(<}&_N${r2@ zcN9=V!YLh2d$U0**PukNIBMF>$wC6UX>VFmnc}Zt@vYdUne7AEWh}%(f~E{*g$!E2 zRYf;FW2Vd;kuWLIpX;W0fu%F8PTrZ99S$z@MY17P8hYNFbW=!%l3m21SOD|+i0+^+ z?u67$I5EyUU^_JEG(!;-O)hsrtZQjYLY6dUGFdnVl7UCgX;;_qt!6ux%f7|pwG6@w zg=xxJQMCeFt5#FCQ7yGcCEtbBhS5!NT=lS>XB$)%zPs5?X4`u>lcsS35zI0gVoBOU zYi5Q_O11@qbpVO&Kgr)<8ul#tXY6-aIr-7av6I~F z#~RU_2E=aYbdy3RLZ_SbEFL;tR-esv@^d%zx=AYTgibg0%I(nU|5f%TEbUvN*G+{O z3!QE%o1JH|M&hOuQgw&_uZ{|^A3Fb^-H>S w=bFD?(wE!Um@nzTt!vE}{Te$nqq7^}c|TujtevmMxWwgy*~WI>0bv9D7dkm88vp|t4JyFJ)QF>#-B6*P&3~c;m4E!(ouki2YFXQj#pT%FXu`z*va+$u0 z8V?_{JV#<_Nk)8WacU6*1A{OSBLi_(W@E +
+
diff --git a/server/djangoapp/templates/djangoapp/login.html b/server/djangoapp/templates/djangoapp/login.html new file mode 100644 index 0000000000..d60fcadf23 --- /dev/null +++ b/server/djangoapp/templates/djangoapp/login.html @@ -0,0 +1,28 @@ + + + + + {% load static %} + + + + + + +
+ {% csrf_token %} +
+

Login

+ + + + +
+ +
+
+
+ + + + \ No newline at end of file diff --git a/server/djangoapp/templates/djangoapp/registration.html b/server/djangoapp/templates/djangoapp/registration.html index ae11ea4b71..40b98bd152 100644 --- a/server/djangoapp/templates/djangoapp/registration.html +++ b/server/djangoapp/templates/djangoapp/registration.html @@ -3,9 +3,30 @@ {% load static %} + + - - +
+
+

Sign Up

+
+ + + + + + + + +
+ {% csrf_token %} + +
+
+
+ + + \ No newline at end of file diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index cb658090c8..730898441e 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -16,11 +16,13 @@ path(route='contact', view=views.contact, name='contact'), # path for registration + path(route='registeration', view=views.registration_request, name='registeration'), # path for login + path(route='login', view=views.login_request, name='login'), # path for logout - + path(route='logout', view=views.logout_request, name='logout'), path(route='', view=views.get_dealerships, name='index'), path(route='django/', view=views.get_templete, name='django'), # path for dealer reviews view diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index e4678de01e..e807fcbbf8 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -28,17 +28,35 @@ def contact(request): return render (request,'djangoapp/contact.html') # Create a `login_request` view to handle sign in request -# def login_request(request): -# ... - +def login_request(request): + if request.method == "POST": + username = request.POST['username'] + password = request.POST['psw'] + user = authenticate(username=username, password=password) + if user is not None: + login(request, user) + return redirect('/djangoapp/about') + else: + return render(request,'djangoapp/login.html') + else: + return render(request, 'djangoapp/login.html') # Create a `logout_request` view to handle sign out request -# def logout_request(request): -# ... - +def logout_request(request): + logout(request) + return redirect('/djangoapp/login') # Create a `registration_request` view to handle sign up request -# def registration_request(request): -# ... - +def registration_request(request): + if request.method == 'GET': + return render(request, 'djangoapp/registration.html') + elif request.method == 'POST': + username = request.POST['username'] + password = request.POST['psw'] + first_name = request.POST['firstname'] + last_name = request.POST['lastname'] + user = User.objects.create_user(username=username, first_name=first_name, last_name=last_name, + password=password) + return render(request, 'djangoapp/login.html') + return render(request, 'djangoapp/registration.html') # Update the `get_dealerships` view to render the index page with a list of dealerships def get_dealerships(request): context = {}