From 0d9788a158b2fb1f7cbfa8f30f460e91c26c3599 Mon Sep 17 00:00:00 2001
From: hiruthikj <hiruthik27@gmail.com>
Date: Sun, 27 Dec 2020 18:23:27 +0530
Subject: [PATCH] login and home

---
 .../__pycache__/settings.cpython-37.pyc       | Bin 2609 -> 2694 bytes
 .../__pycache__/urls.cpython-37.pyc           | Bin 528 -> 583 bytes
 .../book_management_system/settings.py        |   5 +-
 .../book_management_system/urls.py            |   5 +-
 .../__pycache__/admin.cpython-37.pyc          | Bin 430 -> 430 bytes
 .../__pycache__/models.cpython-37.pyc         | Bin 1378 -> 1406 bytes
 .../__pycache__/urls.cpython-37.pyc           | Bin 536 -> 439 bytes
 .../__pycache__/views.cpython-37.pyc          | Bin 213 -> 598 bytes
 .../online_books/migrations/0001_initial.py   |   8 +--
 .../__pycache__/0001_initial.cpython-37.pyc   | Bin 1174 -> 1226 bytes
 .../0002_auto_20201227_1807.cpython-37.pyc    | Bin 0 -> 893 bytes
 .../0003_auto_20201227_1808.cpython-37.pyc    | Bin 0 -> 583 bytes
 book_management_system/online_books/models.py |   5 +-
 .../online_books/static/online_books/base.css |  24 -------
 .../templates/online_books/base.html          |  63 ------------------
 book_management_system/online_books/urls.py   |  15 +----
 book_management_system/online_books/views.py  |  12 +++-
 book_management_system/templates/base.html    |  14 ++++
 book_management_system/templates/home.html    |  25 +++++++
 .../templates/registration/login.html         |  12 ++++
 .../registration/password_reset_complete.html |   9 +++
 .../registration/password_reset_confirm.html  |  21 ++++++
 .../templates/registration/signup.html        |  12 ++++
 23 files changed, 118 insertions(+), 112 deletions(-)
 create mode 100644 book_management_system/online_books/migrations/__pycache__/0002_auto_20201227_1807.cpython-37.pyc
 create mode 100644 book_management_system/online_books/migrations/__pycache__/0003_auto_20201227_1808.cpython-37.pyc
 delete mode 100644 book_management_system/online_books/static/online_books/base.css
 delete mode 100644 book_management_system/online_books/templates/online_books/base.html
 create mode 100644 book_management_system/templates/base.html
 create mode 100644 book_management_system/templates/home.html
 create mode 100644 book_management_system/templates/registration/login.html
 create mode 100644 book_management_system/templates/registration/password_reset_complete.html
 create mode 100644 book_management_system/templates/registration/password_reset_confirm.html
 create mode 100644 book_management_system/templates/registration/signup.html

diff --git a/book_management_system/book_management_system/__pycache__/settings.cpython-37.pyc b/book_management_system/book_management_system/__pycache__/settings.cpython-37.pyc
index 662ee4486089b70c143fa0b63001880a16d35c3a..fab532f91650a126bfbde337e67540e8ce00d01e 100644
GIT binary patch
delta 325
zcmdle(k9C5#LLUYz`($uUh^XU)kI!NCML#-8cFr3e5vdU_*29dGBz`&Gp4Ynh^I)T
zNTx`oNT;)8GN#DPVM%9<5=fDa5=@axkxx-bQA|-vQBF}wQJuq<$rvS+qL!kb$(W*+
zq5&o~!K79uV>(NeaEf-6NQzFBXbNkTSPE;DcnWKjM2c>dWGZ8p)B@>L_7uH^s!ZvO
zQ8Fp|QL=DBgM~~{aw&#U@+n493Mov%44TH9<ruFsGvDGY+5DDeGb1C{=7nrtjB1I=
z$@!&uCB^zV`RSQ?`c=aE`FS~+d8zS9`T5z!`WgATsrs6VlmD>y@-Y{e6y4&;%FoOz
zNG!>i+`(}~_Lh*3zq_Yje2}Y)XOOFNNPK9J&q{_OJq8AbBE89>oCS<olaFy4GxAOT
K#c9sO!UzDn-&^tk

delta 246
zcmZn@-6+EA#LLUYz`(!|sq;L3_C#JurcVqLHInMn8B$nN#8SjlBvK?(q|#Y38B?U^
zu%t6a@ukQ_@u$e9$fd}qD5NN+D5WT;sLWx@WQ-C>QB6_HWK2;_Q3sP6U{W)aF`Xq!
zFhwg$C`CI;IE6JzB!x9fG=()vEJY_uJe4s^Vu55Tdy4KtrgX+AsT92^=~TunQHY@a
zLZ&F06oV+)6sBMXO~cK4jMter3$U(cWaQkuhs}#ou(+f&B{i?4SU)E}Ju^>VQ*N>j
lNAKhl9EUkqG8AbsFfbHpO<uuSz?d;vlFOKpX|gYuIRF3zKr#RT

diff --git a/book_management_system/book_management_system/__pycache__/urls.cpython-37.pyc b/book_management_system/book_management_system/__pycache__/urls.cpython-37.pyc
index 0c0140a63a137f7cc4da8817579bf4920a91edf6..bc3b5b7c988dcd284a652780dd0463e9a1bb0f9d 100644
GIT binary patch
delta 162
zcmbQha-2ooiI<m)fq{WxZOx1LK1K$H#~=<2voSC*I503U6c<cX_g710PT@#pN#Sf}
zY-UPlPUT2t%i>OD%i>Al>SYpVh~iD*4rb8gnK;4TFflnfzcjC;SiedlB`Yy6Jzp<5
zKd+=HGf6M8v?N2Xv?!;ziZ?$mCo?ZKJ}EyxyLjVuO-3O;1_lNmMgc}1MjmD!Mjl2!
FCIFpACb<9r

delta 108
zcmX@kGJ!?iiI<m)fq{V`Q2TkjCnE#HV-N?1Ss54@92giFic==4`%9%WrE;XQWpSsn
zW$~nN^fHMvMDeC@1~X`KO`K!Tk(8gGU7T5xx|xSjlTm<&fq{XCQGkhuk%yUwk&h7o
D{}K{S

diff --git a/book_management_system/book_management_system/settings.py b/book_management_system/book_management_system/settings.py
index 0ffd96f..e2ea749 100644
--- a/book_management_system/book_management_system/settings.py
+++ b/book_management_system/book_management_system/settings.py
@@ -59,7 +59,7 @@ ROOT_URLCONF = 'book_management_system.urls'
 TEMPLATES = [
     {
         'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [],
+        'DIRS': [str(BASE_DIR.joinpath('templates'))],
         'APP_DIRS': True,
         'OPTIONS': {
             'context_processors': [
@@ -136,4 +136,5 @@ STATICFILES_DIRS = [
 MEDIA_URL = '/media/'
 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
 
-LOGIN_URL = '/students/login/'
+LOGIN_URL = '/accounts/login/'
+LOGIN_REDIRECT_URL = '/online_books/home/'
diff --git a/book_management_system/book_management_system/urls.py b/book_management_system/book_management_system/urls.py
index 395ae94..ec71ed4 100644
--- a/book_management_system/book_management_system/urls.py
+++ b/book_management_system/book_management_system/urls.py
@@ -1,10 +1,11 @@
 from django.contrib import admin
 from django.urls import path, include
-
 from django.conf import settings
 from django.conf.urls.static import static
 
 urlpatterns = [
     path('admin/', admin.site.urls),
-    path('booksite/', include('online_books.urls')),
+    path('accounts/', include('django.contrib.auth.urls')),
+    path('online_books/', include('online_books.urls')),
+    
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
\ No newline at end of file
diff --git a/book_management_system/online_books/__pycache__/admin.cpython-37.pyc b/book_management_system/online_books/__pycache__/admin.cpython-37.pyc
index ae10ba842444f46afb462fc495929bb5b03d5678..9364009e1fd478f40be468611e5b493666c9681b 100644
GIT binary patch
delta 20
bcmZ3-ypEaMiI<m)fq{X+q3Oj&?!}A%E;$6=

delta 20
bcmZ3-ypEaMiI<m)fq{Wxt=jXA+>03jF9!tf

diff --git a/book_management_system/online_books/__pycache__/models.cpython-37.pyc b/book_management_system/online_books/__pycache__/models.cpython-37.pyc
index 26cd69ec8d9af4a74d2066d8c1a03e5f96d335ba..55e2a36067a808a1dd5f04e17400a8fd38131821 100644
GIT binary patch
delta 206
zcmaFF^^c3siI<m)fq{WxW8;f>4(5$~!pvN33=9ko3=9m#ag()~l?_r@QdoOgqBv5S
z7jUMqEo6-1N@dRCPGL`BNnuIh=w*)LNoCIBP2mLdxq6u=moclyg=jM0;>^#BPf5*5
zElIt_l2@9ObBi@8CowO(h?#+bA#(yF1A``W5i0`&Ly-uG5M^LsDCK8hVDQXSC@L*T
vO)XZ?c+|906J$_EYED6XNoqw2RO#dhCe6tLEbrMx7`Ye)7zHM?vBm%Z^c^y0

delta 181
zcmeyz^@xkliI<m)fq{Wxt=jYW8%!JdgqgWm85kHG7#J9e!zODpD{J&JMRBAuFW^jJ
zUC0>4mCBsOox+yFp2D8O(aRjglggaMo5GpG)yp`!j#=GTlkpa3eqMY^YEEiNY7sL7
z14HHnMh1ouP39tyvA0<AN^^2<u_omt=4F@iGcYiC<|!1F7Nn*YD`-4w+NlZBpOKnV
e5MPp7Q8GE2No}$Y%X@YKMlMDHMxMz^tT6!9*)J>r

diff --git a/book_management_system/online_books/__pycache__/urls.cpython-37.pyc b/book_management_system/online_books/__pycache__/urls.cpython-37.pyc
index dccb07261df0c2d5f5e24498f8261605c8ff1217..027d3c32fe4fb5233690c3303148534198402e13 100644
GIT binary patch
delta 151
zcmbQivYlDoiI<m)fq{V`zUD=IA|nICV-N?1Ss54@92giFioGVP+X%B|ai(yjaP~5%
zGe&Wxa0N4Ha!>5A7iZ1L&rQ|8#R8%<8E>)VCFZ93X>w1NVT@9Y;slAtmu04w-{LMU
o$|*=JDM>BLD_+S^B*4JHP$V#U8DkP3$N>V3Jd8Yy9Ly}t0Iu&MjQ{`u

delta 247
zcmdnaJcC8uiI<m)fq{YHhR*Z&1QrH{#~=<2voSC*I503U6vs?dw^8Lx;Yi`^Wlm*D
z;Y#Jo;!fdC;pt^e;RT7MGez;F@C7qy@=q+Y4`s{APtVNLzr_lsH5qTQ<R#{&R<Y;g
zr{|ZJ=vPVP=jCMPrN$@a=Vuq|Lqzp5N^)~F8E^5Hq~;dnB$lMcgY?`28I@mJ;-|?w
z@l2FK5hnu!!!0f!usLCwspYrW6N}@^Kn(8EqMU-nl9JS-yyBG%MIsCg3`HW7-5HYv
Uco-NM1Q>Z3d6+nuSvYwZ0bV&pC;$Ke

diff --git a/book_management_system/online_books/__pycache__/views.cpython-37.pyc b/book_management_system/online_books/__pycache__/views.cpython-37.pyc
index cd80d6b27653833534a94e64c70188c438357f7a..4690e496c1e33ad248ebc21beb4ada0c1848f0f6 100644
GIT binary patch
literal 598
zcmZ?b<>g{vU|<lgeG#9*$iVOz#DQUE1_lNP1_p*=F9rsN6owSW9EM!RC`LvQn<<AW
zmpO_V%x2DE$z_dV1+!Ul*mBvU*clm8SX0<?I6@dwS(_PB*i$%K7@8TQI8!)-88o?G
zf^5)ayv0+LT9#T=oEo2#SXHUXc#AzfH7~U&Gg*`I7GF+&dS+gHQEFjnW>IR2CgUx(
zqSU;U)S{P+3=9mKjJFuIl0htxNlXk346F<c49+08$}li6lrUs5E?`>7P|H}tT*HvU
zn8H-Un8}#J+{+xypvmG_#hH<xo2r*llACjjH7P$oyBK75a(-S(YDI}A%PkhC{QT@&
z?D<JqsmUe9x0n-ia*9CaYckzp2RSIUxTJ`Kfq`KqLlGYX1H&(W7ps_pqI|IG7?55C
z-^9Gc^wiwcyb^`r%HopL+!&BG@wsr}_+p4~eqK&yUTQo@wm7CNGqt=}ub}c4*nROJ
zF36f<Hn1nT7}*$$1Q-|?{4}|4ai?S@=B4NBl@{d`7lHgA#RC-q=_)P)Mcpkqs1V3!
zMVU!@iKQhOdMT;N`9+B(`9;M=EDQ_`w*;VyiZk+yN|H-UiossJ#g?0&lA2Qtwh-(~
eB!VBLkHaQ6KczG$)eaO3#h^sQ!w7~<983Vrr=A}G

delta 138
zcmcb{a+NX9iI<m)fq{Wxt=jW=Ck6(F#~=<2GchnQI503U6bmpgFr+Y~Fy=7iGDa~n
zGNdpCGiWlu1gX<xyv0_OnwOGV<fq9LC6JPpn3tZfSDcYwRFYg;Qd|TwV<kfoGXn!d
b5%Xk6#!w*+o80`A(wtN~Mg|6k&mc1ZB10UJ

diff --git a/book_management_system/online_books/migrations/0001_initial.py b/book_management_system/online_books/migrations/0001_initial.py
index 6809e52..248028d 100644
--- a/book_management_system/online_books/migrations/0001_initial.py
+++ b/book_management_system/online_books/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 3.1.4 on 2020-12-26 10:52
+# Generated by Django 3.1.4 on 2020-12-27 12:45
 
 from django.db import migrations, models
 import django.db.models.deletion
@@ -31,9 +31,9 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('book_title', models.CharField(max_length=100)),
-                ('description', models.TextField(max_length=400)),
-                ('price', models.FloatField(help_text='In rupees (₹)')),
-                ('author_fk', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_books.author')),
+                ('description', models.TextField(blank=True, max_length=400, null=True)),
+                ('price', models.FloatField(blank=True, help_text='In rupees (₹)', null=True)),
+                ('author_fk', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='online_books.author')),
                 ('genres', models.ManyToManyField(to='online_books.Genre')),
             ],
         ),
diff --git a/book_management_system/online_books/migrations/__pycache__/0001_initial.cpython-37.pyc b/book_management_system/online_books/migrations/__pycache__/0001_initial.cpython-37.pyc
index 0fc2c313289b269c2adeaccac748f0ded103af77..9df28ae8fe2f3b067784e7bf6882e75cae80aa3d 100644
GIT binary patch
delta 277
zcmbQnd5V+IiI<m)fq{YHZsUu16}E|drCj_B3=9qo3=G9zCiX50XG{@HVN4O~Wlm#C
z5l&^#;!a^q5lLZ85e18grLt%7q%fv1rt)U-WwB@RX9=W;r%3d&q%oyPrm|-Vrbwko
z_cEq2rL(1Q^)jV1M+v3K1T$#LPOf4+>88nii!~`HF)zD_kAZ>V7E4}fPR=dXf}+gi
z)KZWuJo6NaN()j`ixo5;HSN^YWG)g1spHH@%_)d4Nv$X;l3-w9n4Ha|$jt(lg7ABp
x^cZC)?_s*YX28I}P-HN967wWhAx0ranaP?gmQq?EK^71Jk%qGjC)cn@0RYL5Lc{<7

delta 225
zcmX@bIgOLgiI<m)fq{Wxt=jYW`>YfBO1XF$7#JKF7#NCQOzd6cEttaJ%b3QLB9zLW
z#hoIYA_C@#rm|=8r1EC*WwB@RX9=W;rHJ=3r7@*Qq_SrTrbwnpfmEflrEv8!r87qf
zrAP-eXv$1(V?3#Gi?yIAGdZ=CpMinFGf$zYv>-LLSV7}a(@srI##@{jsW}DlC8-r9
zlczE%GBQm*$fU<8J^2IE1vWhf28JTN$;X%{vGOtUF-lC1WwDgf012{y2#7SCr9XKC
GixdF6mpKLi

diff --git a/book_management_system/online_books/migrations/__pycache__/0002_auto_20201227_1807.cpython-37.pyc b/book_management_system/online_books/migrations/__pycache__/0002_auto_20201227_1807.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ffdc31341748e86c510ce76f4d1bd8e2e101dacc
GIT binary patch
literal 893
zcmZ?b<>g{vU|>*hcoDyrnStRkhy%kc3=9ko3=9m#dJGH<DGVu$ISjdsQH;4vQA~^=
zK2r{J6pK4U3Udle3quM^Dq|LFGjkMc3R5tHChJR(DVj{TxN<YoixNvR^Ye;tvE}Bc
zq~;X+C4=N(7-T=#mI?+2hE#?q#uSDqrWD3>#wg}gmMqp3rWEE>wk-A(mK2s$jx5eB
zwk)nJ?iAJ(wqBML_FkA84lHUo(bRCIvSsn4u%vLOu%z(xGJ|xdGe_~J@CGwz^4;R}
zg*jA{=@w6ZUQT9SYJ5_Des=LK9s>gd!}!d+%#zH+oG2EM;4RL?(vpn)qWHAzkSbwh
z)p`&KO_p1%NjZsm*|%8oN^^2<apvd6r=;ejmZaWdD#_PmzQqL&jQG67+|*kvV3IX0
zGc_mW7F&91UQudsl@N-lV8L6g1x1<3sipi33=E!m3Pq&_sj0;Z8jqTGYHBhUaWF72
z+~Ukg%_)d4Nv$X;;$&c8@YCeG#Sss-B|iQZSA2YKeoARhYJB`Hp7{8}(!?B)%^+S%
zYC&pVN@`wmW@>Q}6UZbk$DESXA~%qmikQIyZuv#2ndy1nsg<|bQnC{B((`XIr6k?r
z0Q)O5KkpX1vtzKcql@b;F1MWg#1gRHTU_}Csn8U#lA%bBfdNAN%5kxZDJaU%N=+^)
zj&aJ*&sOkF%u7s9%}vcKQ3$RqE=kRe0R?q@E?hXi7$S@uGBJn*7Gq#wU=*KNT9O}c
zWME`qXk=s_Z)jm)u2)c51WL^8pu{Z2z`(%4%*MjP$i&FRD8qzGgVkxW-QtA!PcJ12
w92k%Qkc12Bfg`V259aeC36Qryb|5?mVabC+j>85L>~^4VECwkPVB}y103|8?AOHXW

literal 0
HcmV?d00001

diff --git a/book_management_system/online_books/migrations/__pycache__/0003_auto_20201227_1808.cpython-37.pyc b/book_management_system/online_books/migrations/__pycache__/0003_auto_20201227_1808.cpython-37.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c615b185fbdfca37fbcc8252f66afad252bb2d62
GIT binary patch
literal 583
zcmZ?b<>g{vU|{fTcoDyZk%8echy%kc3=9ko3=9m#N(>APDGVu$ISjdsQH+cX?hGkR
zDa<VlDa@&iSxn8$QA{Z;!3>(LFF`sr8E<jrW~LV<mSpDV6(@s)U>I(o4g&*2Dnk@w
z3PTiA3S&BB6mu#|7Awfm6qa75RF*8Z6xI~BUdD8$DE1WgU<OT&Tb#ZyGc}oR@#N>_
zWag#DC*|j77vB;$FfcHRPb@9Tk2f+fGB7kUGLJX3FfhNx0+PSQmY$kdlv=FGbc-uD
zKP5FMJ})sh^%e_=jAC^M$!Rhcae@Ltlj9agJXktD{uWn!d~SY9X-;Z<{4JjN_`=e}
z9FP_eFD11gH7_MKFF7-{xQK~?f#DW+P-<>|S*lxRYEH^6ZkN=Y)RI(RkY%^H@(WU-
zVX=~-NRWX6Lj1~cv5F}u%FjwoE-8+2%FoYM@J-B1Oi#^C%_~s|t}HG|&5Z#$KRy>O
z9A69(M)rIRBB)~w3=E7hgTX?tpt6XWfq{Vy6qP&-3=AC1Y%DB{OpI(yER0|oKTYOa
moGDp}dFlCjDM?@-fyEKdg|LJ`UgfZX1dAQW%wmx5d6)r4@|(c`

literal 0
HcmV?d00001

diff --git a/book_management_system/online_books/models.py b/book_management_system/online_books/models.py
index b47982d..8781d0e 100644
--- a/book_management_system/online_books/models.py
+++ b/book_management_system/online_books/models.py
@@ -14,10 +14,11 @@ class Author(models.Model):
 
 class Book(models.Model):
     book_title = models.CharField(max_length=100)
-    author_fk = models.ForeignKey('Author', on_delete=models.CASCADE)
+    author_fk = models.ForeignKey('Author', on_delete=models.CASCADE, null=True, blank=True)
     genres = models.ManyToManyField('Genre')
     description = models.TextField(max_length=400, null=True, blank=True)
-    price = models.FloatField(help_text="In rupees (₹)")
+    price = models.FloatField(help_text="In rupees (₹)", null=True, blank=True)
 
     def __str__(self):
         return self.book_title
+
diff --git a/book_management_system/online_books/static/online_books/base.css b/book_management_system/online_books/static/online_books/base.css
deleted file mode 100644
index 79f8668..0000000
--- a/book_management_system/online_books/static/online_books/base.css
+++ /dev/null
@@ -1,24 +0,0 @@
-/* body, html {
-    height: 100%;
-    background-repeat: no-repeat;
-    background-repeat: repeat;
-    background-image: linear-gradient(rgb(104, 145, 162), rgb(12, 97, 33));
-    background-attachment: fixed;
-} */
-
-#MyNav{
-    margin-bottom: 10px;
-  }
-  #univLogo{
-    color: darkorange;
-  }
-  
-  body, html {
-      height: 100%;
-      background-repeat: no-repeat;
-      background-attachment: fixed;
-      /* background-color: #85FFBD;
-      background-image: linear-gradient(45deg, #85FFBD 0%, #FFFB7D 100%); */
-      /* background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(153,103,186,1) 41.2%, rgba(0,113,227,1) 90% ); */
-      background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(147,230,241,1) 0%, rgba(145,192,241,1) 45.5% );
-  }
\ No newline at end of file
diff --git a/book_management_system/online_books/templates/online_books/base.html b/book_management_system/online_books/templates/online_books/base.html
deleted file mode 100644
index 07b3a7a..0000000
--- a/book_management_system/online_books/templates/online_books/base.html
+++ /dev/null
@@ -1,63 +0,0 @@
-{% load static %}
-
-<!DOCTYPE html>
-<html>
-    <head>
-        <title>{% block title %}Default Title{% endblock %}</title>
-
-        <meta charset="utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-        <meta http-equiv="x-ua-compatible" content="ie=edge">
-        
-        <!-- Bootstrap CSS -->
-        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
-        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-social/5.1.1/bootstrap-social.min.css" integrity="sha512-f8mUMCRNrJxPBDzPJx3n+Y5TC5xp6SmStstEfgsDXZJTcxBakoB5hvPLhAfJKa9rCvH+n3xpJ2vQByxLk4WP2g==" crossorigin="anonymous" />
-        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA==" crossorigin="anonymous">
-        <link rel="stylesheet" href="{% static 'online_books/css/base.css' %}">
-        
-        
-        {% block head %}{% endblock %}
-        
-
-    </head>
-    <body>
-
-    {% block nav %}
-    <nav class="navbar navbar-expand-lg navbar-extend-sm navbar-dark bg-dark" id="MyNav">
-        <div class="container">
-            <a class="navbar-brand" id="univLogo" href="{% url 'stud_app:home' username %}"><span class="fas fa-university"> Online Exam System</a>
-            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#Navbar">
-            <span class="navbar-toggler-icon"></span>
-            </button>
-            <div class="collapse navbar-collapse" id='Navbar'>
-                <div class="navbar-nav">
-                <a class="nav-item nav-link {% if current_page == 'home' %}active{% endif %}"  href="{% url 'stud_app:home' username %}"><span class="fas fa-user-graduate"></span> My Details</a>
-                <a class="nav-item nav-link {% if current_page == 'courses' %}active{% endif %}" href="{% url 'stud_app:courses' username %}"><span class="fas fa-book-open"></span> Courses</a>
-                <a class="nav-item nav-link {% if current_page == 'exams' %}active{% endif %}" href="{% url 'stud_app:exams' username %}"><span class="fas fa-edit"></span> Exams</a>
-                <a class="nav-item nav-link {% if current_page == 'scores' %}active{% endif %}" href="{% url 'stud_app:scores' username %}"><span class="fas fa-file-alt"></span> Scores</a>
-                </div>
-
-                <div class="navbar-nav ml-auto">
-                <a class="nav-item nav-link ml-auto" href="{% url 'stud_app:logout' %}"><span class="fas fa-sign-out-alt"></span> Log Out</a>
-                </div>
-            </div>
-        </div>
-    </nav>
-    {% endblock %}
-
-
-    <!-- {% block breadcrumb %}
-    <ol class="breadcrumb container">
-        <li class="breadcrumb-item active"><a href="#">Home</a></li>
-    </ol>
-    {% endblock %} -->
-
-    {% block content %}
-    {% endblock %}
-
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
-
-    </body>
-</html>
diff --git a/book_management_system/online_books/urls.py b/book_management_system/online_books/urls.py
index 1ea023c..ddf126e 100644
--- a/book_management_system/online_books/urls.py
+++ b/book_management_system/online_books/urls.py
@@ -1,25 +1,12 @@
 from django.conf.urls import url,include
 from django.urls import path
 from . import views
-# from .forms import StudentLoginForm
 from django.contrib.auth.views import *
     #LoginView,LogoutView,PasswordResetView,PasswordResetDoneView,PasswordResetConfirmView,PasswordResetCompleteView
 
 app_name = 'online_books'
 
 urlpatterns = [
-
-    # path('', LoginView.as_view(template_name='stud_app/login.html',authentication_form=StudentLoginForm), name="login"),
-    # url('login/',  views.StudentView.as_view(), name="login"),
-
-    # path('', views.blank_page),
-    # path('login/', views.login_view, name="login"),
-    path('login/',  login, name="login"),
-    path('logout/', LogoutView.as_view(template_name='online_books/logout.html'), name="logout"),
-    # path('<username>/home/', views.home_view, name="home"),
-    # path('<username>/courses/', views.courses_view, name="courses"),
-    # path('<username>/exams/', views.exam_list_view, name="exams"),
-    # path('<username>/exams/<int:exam_id>', views.exam_view, name="exams"),
-    # path('<username>/scores/', views.scores_view, name="scores"),
+    path('home/', views.home_view, name='home'),
 
 ]
\ No newline at end of file
diff --git a/book_management_system/online_books/views.py b/book_management_system/online_books/views.py
index 91ea44a..192c5b5 100644
--- a/book_management_system/online_books/views.py
+++ b/book_management_system/online_books/views.py
@@ -1,3 +1,13 @@
+from django.urls import reverse_lazy
+from django.views import generic
+from django.contrib.auth.decorators import login_required
 from django.shortcuts import render
 
-# Create your views here.
+from .models import *
+
+@login_required()
+def home_view(request):
+    books = Book.objects.all()
+    return render(request, 'home.html', context={
+        'books' : books,
+        })
diff --git a/book_management_system/templates/base.html b/book_management_system/templates/base.html
new file mode 100644
index 0000000..3c93160
--- /dev/null
+++ b/book_management_system/templates/base.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>{% block title %}BOOK SITE{% endblock %}</title>
+</head>
+<body>
+  <main>
+    <h1>BOOK SITE</h1>
+    {% block content %}
+    {% endblock %}
+  </main>
+</body>
+</html>
\ No newline at end of file
diff --git a/book_management_system/templates/home.html b/book_management_system/templates/home.html
new file mode 100644
index 0000000..7e45a53
--- /dev/null
+++ b/book_management_system/templates/home.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block content %}
+  <h1>Book List</h1>
+  {% if books %}
+  <ul>
+    {% for book in books %}
+      <li>{{book.book_title}}</li>
+      <li>{{book.author_fk.author_name}}</li>
+      <li>
+        {% for genre in book.genres.all %}
+          {{genre}},
+          {% endfor %}  
+      </li>
+       {% if book.description %}
+            <li>{{book.description}}</li>
+        {% endif %}
+      <li>{{book.price}}</li>
+      <hr>
+    {% endfor %}
+  </ul>
+  {% else %}
+    <p>No book info</p>
+  {% endif %} 
+{% endblock %}
\ No newline at end of file
diff --git a/book_management_system/templates/registration/login.html b/book_management_system/templates/registration/login.html
new file mode 100644
index 0000000..255f1c6
--- /dev/null
+++ b/book_management_system/templates/registration/login.html
@@ -0,0 +1,12 @@
+{% extends 'base.html' %}
+
+{% block title %}Log In{% endblock %}
+
+{% block content %}
+<h2>Log In</h2>
+<form method="post">
+  {% csrf_token %}
+  {{ form.as_p }}
+  <button type="submit">Log In</button>
+</form>
+{% endblock %}
\ No newline at end of file
diff --git a/book_management_system/templates/registration/password_reset_complete.html b/book_management_system/templates/registration/password_reset_complete.html
new file mode 100644
index 0000000..1bc8c3d
--- /dev/null
+++ b/book_management_system/templates/registration/password_reset_complete.html
@@ -0,0 +1,9 @@
+  
+{% extends 'base.html' %}
+
+{% block title %}Password reset complete{% endblock %}
+
+{% block content %}
+<h1>Password reset complete</h1>
+<p>Your new password has been set. You can log in now on the <a href="{% url 'login' %}">log in page</a>.</p>
+{% endblock %}
\ No newline at end of file
diff --git a/book_management_system/templates/registration/password_reset_confirm.html b/book_management_system/templates/registration/password_reset_confirm.html
new file mode 100644
index 0000000..e3aa4e1
--- /dev/null
+++ b/book_management_system/templates/registration/password_reset_confirm.html
@@ -0,0 +1,21 @@
+{% extends 'base.html' %}
+
+{% block title %}Enter new password{% endblock %}
+
+{% block content %}
+
+{% if validlink %}
+
+<h1>Set a new password!</h1>
+<form method="POST">
+  {% csrf_token %}
+  {{ form.as_p }}
+  <input type="submit" value="Change my password">
+</form>
+
+{% else %}
+
+<p>The password reset link was invalid, possibly because it has already been used.  Please request a new password reset.</p>
+
+{% endif %}
+{% endblock %}
\ No newline at end of file
diff --git a/book_management_system/templates/registration/signup.html b/book_management_system/templates/registration/signup.html
new file mode 100644
index 0000000..dda12b2
--- /dev/null
+++ b/book_management_system/templates/registration/signup.html
@@ -0,0 +1,12 @@
+{% extends 'base.html' %}
+
+{% block title %}Sign Up{% endblock %}
+
+{% block content %}
+  <h2>Sign up</h2>
+  <form method="post">
+    {% csrf_token %}
+    {{ form.as_p }}
+    <button type="submit">Sign Up</button>
+  </form>
+{% endblock %}
\ No newline at end of file
-- 
GitLab