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