From 9cc4e8f24007815c91a8a4e38eaf924ff53051a7 Mon Sep 17 00:00:00 2001 From: Priyatham-sai-chand Date: Thu, 15 Oct 2020 22:48:39 +0530 Subject: [PATCH] intial push --- .vscode/settings.json | 4 + auctions/__init__.py | 0 auctions/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 141 bytes auctions/__pycache__/admin.cpython-37.pyc | Bin 0 -> 348 bytes auctions/__pycache__/models.cpython-37.pyc | Bin 0 -> 1262 bytes auctions/__pycache__/urls.cpython-37.pyc | Bin 0 -> 456 bytes auctions/__pycache__/views.cpython-37.pyc | Bin 0 -> 2555 bytes auctions/admin.py | 9 ++ auctions/apps.py | 5 + auctions/migrations/0001_initial.py | 64 +++++++++ .../migrations/0002_auto_20201011_2323.py | 20 +++ .../migrations/0003_auto_20201012_0007.py | 18 +++ .../migrations/0004_auto_20201013_0925.py | 18 +++ auctions/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 2896 bytes ...002_auctionlisting_username.cpython-37.pyc | Bin 0 -> 692 bytes .../0002_auto_20201003_2319.cpython-37.pyc | Bin 0 -> 1243 bytes .../0002_auto_20201011_2158.cpython-37.pyc | Bin 0 -> 539 bytes .../0002_auto_20201011_2206.cpython-37.pyc | Bin 0 -> 584 bytes .../0002_auto_20201011_2323.cpython-37.pyc | Bin 0 -> 741 bytes .../0002_remove_comments_title.cpython-37.pyc | Bin 0 -> 505 bytes .../0003_auto_20201003_2349.cpython-37.pyc | Bin 0 -> 1255 bytes .../0003_auto_20201011_2155.cpython-37.pyc | Bin 0 -> 893 bytes .../0003_auto_20201011_2208.cpython-37.pyc | Bin 0 -> 553 bytes .../0003_auto_20201011_2211.cpython-37.pyc | Bin 0 -> 976 bytes .../0003_auto_20201012_0007.cpython-37.pyc | Bin 0 -> 597 bytes .../0004_auto_20201013_0925.cpython-37.pyc | Bin 0 -> 580 bytes ...ove_auctionlisting_username.cpython-37.pyc | Bin 0 -> 534 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 152 bytes auctions/models.py | 22 ++++ auctions/static/auctions/styles.css | 3 + .../templates/auctions/create_listing.html | 37 ++++++ auctions/templates/auctions/index.html | 29 +++++ auctions/templates/auctions/layout.html | 49 +++++++ auctions/templates/auctions/listing.html | 16 +++ auctions/templates/auctions/login.html | 24 ++++ auctions/templates/auctions/register.html | 30 +++++ auctions/tests.py | 3 + auctions/urls.py | 13 ++ auctions/views.py | 92 +++++++++++++ commerce/__init__.py | 0 commerce/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 141 bytes commerce/__pycache__/settings.cpython-37.pyc | Bin 0 -> 2301 bytes commerce/__pycache__/urls.cpython-37.pyc | Bin 0 -> 966 bytes commerce/__pycache__/wsgi.cpython-37.pyc | Bin 0 -> 546 bytes commerce/asgi.py | 16 +++ commerce/settings.py | 122 ++++++++++++++++++ commerce/urls.py | 22 ++++ commerce/wsgi.py | 16 +++ db.sqlite3 | Bin 0 -> 192512 bytes google | Bin 0 -> 15903 bytes google_9q82OQA | Bin 0 -> 15903 bytes image_google | Bin 0 -> 15903 bytes image_google_sTknGkm | Bin 0 -> 15903 bytes manage.py | 21 +++ 55 files changed, 653 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 auctions/__init__.py create mode 100644 auctions/__pycache__/__init__.cpython-37.pyc create mode 100644 auctions/__pycache__/admin.cpython-37.pyc create mode 100644 auctions/__pycache__/models.cpython-37.pyc create mode 100644 auctions/__pycache__/urls.cpython-37.pyc create mode 100644 auctions/__pycache__/views.cpython-37.pyc create mode 100644 auctions/admin.py create mode 100644 auctions/apps.py create mode 100644 auctions/migrations/0001_initial.py create mode 100644 auctions/migrations/0002_auto_20201011_2323.py create mode 100644 auctions/migrations/0003_auto_20201012_0007.py create mode 100644 auctions/migrations/0004_auto_20201013_0925.py create mode 100644 auctions/migrations/__init__.py create mode 100644 auctions/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_auctionlisting_username.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_auto_20201003_2319.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_auto_20201011_2158.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_auto_20201011_2206.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_auto_20201011_2323.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0002_remove_comments_title.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0003_auto_20201003_2349.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0003_auto_20201011_2155.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0003_auto_20201011_2208.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0003_auto_20201011_2211.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0003_auto_20201012_0007.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0004_auto_20201013_0925.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0004_remove_auctionlisting_username.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 auctions/models.py create mode 100644 auctions/static/auctions/styles.css create mode 100644 auctions/templates/auctions/create_listing.html create mode 100644 auctions/templates/auctions/index.html create mode 100644 auctions/templates/auctions/layout.html create mode 100644 auctions/templates/auctions/listing.html create mode 100644 auctions/templates/auctions/login.html create mode 100644 auctions/templates/auctions/register.html create mode 100644 auctions/tests.py create mode 100644 auctions/urls.py create mode 100644 auctions/views.py create mode 100644 commerce/__init__.py create mode 100644 commerce/__pycache__/__init__.cpython-37.pyc create mode 100644 commerce/__pycache__/settings.cpython-37.pyc create mode 100644 commerce/__pycache__/urls.cpython-37.pyc create mode 100644 commerce/__pycache__/wsgi.cpython-37.pyc create mode 100644 commerce/asgi.py create mode 100644 commerce/settings.py create mode 100644 commerce/urls.py create mode 100644 commerce/wsgi.py create mode 100644 db.sqlite3 create mode 100644 google create mode 100644 google_9q82OQA create mode 100644 image_google create mode 100644 image_google_sTknGkm create mode 100644 manage.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3c89cbc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.pythonPath": "C:\\Users\\bncha\\AppData\\Local\\Programs\\Python\\Python38-32\\python.exe", + "python.dataScience.jupyterServerURI": "local" +} \ No newline at end of file diff --git a/auctions/__init__.py b/auctions/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/auctions/__pycache__/__init__.cpython-37.pyc b/auctions/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..73420462a6caf2a6cdc4cb93ea604b24391236c8 GIT binary patch literal 141 zcmZ?b<>g`kf_HcQ;z0Cc5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o6wv*(xTqIJKxa zCMhpDBQeG$zdSD|KQW~^COJPhH?=4^H72n%xg;|`uQ(TZl OX-=vg$h^-$%m4t$+am@5 literal 0 HcmV?d00001 diff --git a/auctions/__pycache__/admin.cpython-37.pyc b/auctions/__pycache__/admin.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b0e0c7aec226a7df5fd8e10b9bc92b5f7527796f GIT binary patch literal 348 zcmYk1u};G<5Qgp8P9xOzJ+gFRs}KUph*%I3vMixAwt}nJMm|@-+rY>x@D{9DnL4vE zaZW+%S^oXqFZ=F%F`FF`jL(nf`)@qIa`GPx;S4w2p=hFMPaKt$5?yH47mi6bGDqf; zk1UXd6qFdcDPJdsz2W^o<_9b?>+*)wlO0wkH628wo%K7q&-g8vi0=G++a??Qm4#$| zhfcK$&KaNJx~}A0ZyMi)MH_sIb{z|RJ(MnJ(?jH#M3JS;HV2!`P({;WEfe2K%zq!{ z=XkYLxg)5xZyy?U8J>I}8V#z=-C}E0vmXT1IOpQ=WvEWD(Y80Id1jcROzF5-)?fIV BS2O?s literal 0 HcmV?d00001 diff --git a/auctions/__pycache__/models.cpython-37.pyc b/auctions/__pycache__/models.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..27837bfdbb0cbd2afacb056cb4cd6954952a8b72 GIT binary patch literal 1262 zcmZuxOK;Oa5Z?78c3dYdMJiD7sDMil%865jP(w;NP$ER>#fr3YyxYXZkFaYCT5+Qs z`wJ?50Doz(2#NfKo|v%{Xr)-%*_qj$*?D~9m#vmZ;M;ioo&7cl`Gvybvw+!wrQQMI zgwuqiG@ulDBQa7lFe!OWxXGBk^LW0~#b1o7U;ql_5!0f>3GzN;pUN<)Pks{Vf`^J+KI?A}(N+ydSu_cUyZPrV$wRJ&QJ$tkMq(J2Q4!~v z8rCs&rzaAtVq+*!F5=Qkz7{JU?%;(0$Rbuq-QtuR+&nh|8>EJCfV$k`_PH4}f%kX= z3kByZ)$Jzt&S~HS-vYZ8;M?5ituqp=@-}3?s@uIfy!}`eaWyke0 zSlTY)A`#k#fFq$TE>xtQX&e=$6!@4D$q97#{${#7K23PFe`z)p=L z7(zfuliN_$hIadi;H*$VYYt&nRkvfvRq&;KDUz@dyc(FRT^)41WmS^*!Kw;SK0ppD zCGVjpr<#?lSeol2xN#Gf!l7{?Q;C{E$JLwsILyX*H_E{@9(BXAm~`tQlh{YyoL}Ih js!i3HY5Ohy8tORE)3Qgk`@Ek07YIm&Ex_uoS?k_k=-nVp literal 0 HcmV?d00001 diff --git a/auctions/__pycache__/urls.cpython-37.pyc b/auctions/__pycache__/urls.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d84967f6f135e2c01fcde6ffa11a4e711a6765ef GIT binary patch literal 456 zcmYL_zfQw25XSBNZ;}>Xqe}-ygb)H|7Q_-FRVHVpt{l6v6AEj09)ykO@ygUUKunxN z5NG-G{dDr(XJ60fIl*}RI;=k^A)g-pqQK+|w>_W$0V+vHD@q9j5XztntB?{-A>!dS zf*6vw5Gh59A)P2gN+6qPhLpl=qI{%$q5>&{Vxn@am7dzPn!)^@EEh-gL6+1-JJxTG zXxBshEco6!;$oqIzxc9Z9e1(Rtxzt(Ll3>n3~z<)xv8?fup5cFOB%yj&t2Z2w%Q18 z@0PhMV9QjiSA&t(1USXSULr3EN|leT*M4wS{PrKg_`fv%+gyQ{(Iw7P_MMm$U-0sM zc5_}oSZ-|nq?!$@Z}nbD&A`@;?mBK7UbCU;g;uuq23EUQmtAxk2FWk|lkF)=8I<9I G{;wbAT6uv0 literal 0 HcmV?d00001 diff --git a/auctions/__pycache__/views.cpython-37.pyc b/auctions/__pycache__/views.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a54f4b32a61adfed1512bb7cf4cbb0bfa099c244 GIT binary patch literal 2555 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 Q1q$7S9k+?kvR?h40LP1tB>(^b literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0002_auctionlisting_username.cpython-37.pyc b/auctions/migrations/__pycache__/0002_auctionlisting_username.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df04c7262076f12c97e0f20b7ae2c103d001d7b0 GIT binary patch literal 692 zcmY*X&2H2%5VjL1n_YHMh13f?!Csby0|$gqp{Shb1@#g|vfRvc*OB8aanb_Ua_xh_ zBl*gyZ-6*4&TdpOkw-J*`T6E^-Y*t2M)K?Vt^C6o`yHH71Q{oE+=>)1;D*&a=XI1v zJou4`bMcWu4B`g^fxJp?<2-@rGg~J2RKu2$pVfNPs!li7`Lu2TjXN*H-6#_>PUyH- zq>$wtSRMi2@H|FQQ8$P&ttOaN(`r^d0s+Zg1Sw4J1m(;jqiIt={WOlDnVIU#{lxit zy?!CJ)ty!*e|(4=?K*8YKI1vG-x;7_G~H04Zvkc^pXxAe3xJG%XJYOz+CWlNZ{Y*-#>vWCZ8;d@+&5fTmJ3KJ_leJH&c2IvWPG1)n1kM$g zw%n@XLvv$IqreqqQ`gv*Sd2Us506w3V=v|ZM9Gn-)$Usx{)+HsZcZwTQz3Xn-xEIE xEK@(-qg}z}u-C9netZZH8?43!+T(yWbbP?Qx1LeVXK(iGy$yu8kaong_#YwI#lHXm literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0002_auto_20201003_2319.cpython-37.pyc b/auctions/migrations/__pycache__/0002_auto_20201003_2319.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..090008f4da016fd176b6669a4fb9c820bed259a8 GIT binary patch literal 1243 zcmY*Z&5qMZ5VqTP;v`NcGYr4W-;rEGW{^N2gb0}(gqA^wpGy>})o~S`4*m&k2bj6S zH4n0nuus4{^py*9*caH-R@*U%j=ED-UG-JhSKWTn?Y1o%-~Rc`|Me{EyHV=llJJ;j zKBNUKuwyH+r*^`o%r-iUovHiO0tei$7Px3Hyf4nw1NPb)cxM!24VZ2xGE$)OU%tQIZAxB#of8AWluvjS^ z*xF53aZCViDiYLaoC(NhWjj=evzm-g$v2Hezdoz}%cwy^x2gh%FfYlg_`3YlIIO-C!@6{J c+Z19l{wk@G?vYLV534pkGPLK$t#A9z|96^dD*ylh literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0002_auto_20201011_2158.cpython-37.pyc b/auctions/migrations/__pycache__/0002_auto_20201011_2158.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5dcd71920f3bb97a777b434b9369aa53fcdca373 GIT binary patch literal 539 zcmYLG!A{&T5Vhm%5|#z2d;;RK7nDS*gsKW5sLBb1sCtPaStc{udga(lyb0=r@+^ZYg_CZthe^+j|Z&DXem{{ za9|Nt?A+?6= O>)PvCRP@o(RJ;RirjYRf literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0002_auto_20201011_2206.cpython-37.pyc b/auctions/migrations/__pycache__/0002_auto_20201011_2206.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6079e9a148a34ed363d5ce87b20548eca1e36031 GIT binary patch literal 584 zcmYLFJ&)8d5VezRF1xo!0aTQ9X-?S)Q6Pj)fS}@pKr~S#%a<7iuN-@c6P>7!mcKyH zUvf*uU!Y=~58YTEznPc3`FMSCv14Svp52Kj5o3Qsuv$XkimrP~4j6FFI$m+k-ZO|G z{=pzdevIzoDuU!Q%Qt`NJC<|5>r~szL0RLPkXkJza7EXZ`Am+@RK)L#qBsa;)S#rU9xQpS+@MVBv(aI1WQYEI zMM6OyQ=b-4i;2pth6NeCT~K4Y4$a_v_GOW{&d+=%CRzx;6M`g0jfD3?d>f?>Vj%)N zp#e0FLf6w~nLq!8fqbV>gWuT`E-U)Y`bWf1?%&5ZFX~Xs)i7lb$s$(Tk=^cD;Y98`B5dLOB*Fofd-p8z1Y44U`xpNw1FHQRnkJLmdSL0G%(hk1 zWJ=cBEtPW9akc0`A}UB^3A&{b13PzwB^bE5Cv5QZUhd{WegggcR5%Yz zxDO2L&V+~PzV6)|p%B+k_GyRO55sW8GnqA6QbcEme38|LqPF)nRFCx4fN4*_CfOH_ z?kUNUC^Vq0M&U`&66Z20LEEi&HW?J+c5tqJ-sU;i0q0n^F972{=im29VQS4zzz(DU znPyN|47=6Aq-da8m|H3{039q;1=&`9fIIDqJdsq%LMh)-gL5@PG<882T1h! zWcBquUoGcf_|2!;{G$%k4h~BHBGpT*Y2D-J=~cYKChK@D({D*UQ$J*(5>dygDodzR zh>u#uPs55)wJ}fjjpE~Q9FD@#h>tJFm&4s%<>1|BY_)k)K67oGTKKhjoWn`SewZq` y>A3a|8L@7g?;3vbKRN8)#qii^_1us*C{Jy4(FNwT|GJa;jS;eT(e>#w>a%~YO3hpV literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0002_remove_comments_title.cpython-37.pyc b/auctions/migrations/__pycache__/0002_remove_comments_title.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..adefe7c132f9c9a63a9a798db265c3e9b55f0c63 GIT binary patch literal 505 zcmY*V!Ait15KWr4cIyiI3*LHJR>6yih>D(E#KlV~gl;peUD9N2x{BxZ>WBDCxq9*! zJUPi)76)dSnY?+tm&?7qlwedRYkp4&`Eo-aAvPD7<`9b@f=bfRoKkX2L?GBZ5e(=e zShGA3;gn?2H{wV}ZQ9iHw(M%HOyyR6{38UCQ$g^Q&S}mdTttpkgdYLUv51f`wu8H# zDGO{;t}0JzhvV`1h}Wv_>QdUI(oF-ZGdAk#P69&HMhlQ!l?~X?)k(Hv6YdwB+mv$z ztR!GRcvqa%`gTGlH*a9SFQ$uZF-WgWKeNbP#g`^vFhk(_!ZFTr%$yUQ`JYf zjGJJBg_h5->f8Q;U!(uJZ}|-s|?d&%50X z-rIP-DcL9vLyXcw#7sCIxgkoUu#*IZtd}%AbOD{l%niIGlV7qkO3Krlza@r2t_3=jSt#}sM5KJY>H&%+`|B5>rx;QUm<-~P*}5Gz3(~= zfF_z*wjH`RJiut2UdT%7r2)?S<+*#eR(93t7jhgHjkk5t%8D*#W{C_1=3R(o3LKN5 zjOT4~E^W?fvL*o%u5tcx;s)8SGY{|*Bfx0nVIrtGMJ}9R7+>K*z7^I7$dSk{gR~D~ zf!;WJi?`AQ-;KtxtV~ibNF+x7nwy{Rcee)F$t8nfG`esHd+~J? z#4aR*TxK!CK`Gqe;dTvZkT(7rq!*i=%Ue+)?o7aBiwx6E!%#KV)c&-Zx;~3OMoaTp z&eN{Sg+iLnD2~pHEmvm|80I1uYCf3cd%`z0U>il=|jH9@Hq%Gs>6j TWpT={vU5xrnVQ;CnacEEe{Ng> literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0003_auto_20201011_2155.cpython-37.pyc b/auctions/migrations/__pycache__/0003_auto_20201011_2155.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..919b31385f2b140fa36021fe14636b64a7a80af8 GIT binary patch literal 893 zcmY*XO>fjN5RKy`>ttJ6ia1n49N?78YIjjD2%&DjK!O(3(n}P{O5^F0D2bOi+p1j4 zwLgTvFd6}F(lxwDab$XyuZ z4E#LEhxr=**YiRCAm4z^{Gssfs2B)#=gjSBOZb>kp#9_idCY|+%e2en$#^`T^3}G; zRGTedDyXZZ1pVNDgJ!+O)YI0$jh|zXov-eNR1XAPCd;DHzN|RM&xzz5m$qJ=ela=sQR-kDmueB{MG&5PF zTzarSJKLWf9M(8Dmfo11e|pQ$&kj%d@rQ%M_d1XZSPA>xs-K~cf!`nZU&d`mRD4mT zpOg4NURQ-ogo;yHmQbe<_cFxyvk{{pFHn$1^67Xwo{T3GKAr6Bj21Vwi?Q1&QCkR% zdX7VE;@K_Q*|F#7ui2|krq`_yiXp6#O~MGHe*pkw0M`Hj literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0003_auto_20201011_2208.cpython-37.pyc b/auctions/migrations/__pycache__/0003_auto_20201011_2208.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f66a25714a26d7ed4cc147c1ce3c07a3e6f254e GIT binary patch literal 553 zcmZWlJx|;~5Zzt-j4^jdNuSQm$!DS{ilXQg5LBQjQ5wtA%6LYOPxkJ`dk&(8mLI}T zVp}TuRH-uF!=hlM8NHp4H}m%EY!)%HzwdA5BWLVsc#P%~Sdp7|6o3J5Sj#ic**OCN z-W>xE`C8n1nE?L>izm<2$6{`ywywHjTWe*?AvM~Bz>3@~C?Lx?FdF3*&ph4HBM8`MWO~$3ic_4JtrY z)@V9GqU^zUZ1o>JtFZwa=?%X8!vpK)RCnRux06r#PddirSE~F~G! z^HE;@`jt5eJ$@_n<6?8udBh!%n_)@l1-{P(55y2%?K1Z4KCBB>=>=T5Q(gY`s2w__ RaT|W#>HRXWnnBjo`wxo!kWByp literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0003_auto_20201011_2211.cpython-37.pyc b/auctions/migrations/__pycache__/0003_auto_20201011_2211.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9fd22aff19a6b62bfdbecf9583e1b6fe495496af GIT binary patch literal 976 zcmZuv&2H2%5KiJG>-}pB5+Hiu0+(D?yNkFWgu49$iMAk0FVRX?x}GkH5__=|s`gs0 zeGp!QXW-;3CtiUQ<77iGILc&ZGWPe)=h+<&dk(IjFK*Zm;yAx-&@LaH9enjJ8t!m6 zcM3OlUF&rl2ohbZ`=QxpTsD`pk z#ZpI}=@scxC1omwHen$-)K`c?cl2g8gOElJF&;zr5h9Qvw(Y?K$vxaX5Flp z_3=B%!fcprz-G3^{aeBV9^U$OZHLqU*YYm!@%}BcwzW$yzQ+g1cxbxEEj{E)lWNg0 z-5!s}Q>LJhUx6)TQGh5lE7LNEcw=3ar`k4Y{7Qq0i0N>+NUFRvT`3s$2_+b>l!uXz zBG|^6ND451ZG(#xa&ER(3UD`qw3}&*W`Y{d4A*cC`t_rh<7n29J!)t~zUrcY%F1a5 z3i6}`UL&eLrcR>!hO#k;{bZc`cM$ zz`Rvtem81!yuarxsY=PFtyKCU8cIUncRhTbxS`j2bxqVY z{ieUsLW+xqcXyrP=e0PEB#-|kN6mzf+OE|$V#E*D|7(>-tw=SFj8QBU_H2V?R4@PEImLB0gQqJI>hea5+j$&KaqDMg|yg%{pH4E-E9= z-Z6+k+%OQx_u^WV0^-kXz4$}9Y#sTmYnwrhtu@Xkodwjc4$x7SG_lr;*ll>B6SU_?c!SYrRmO@HRR(|#2Se;s>YN`*7PV+o3q?$%6i@eCU`F1Od zU9t0z?^AT^#?~}`*|+sL4fw?euCbZ4_N%GaR)HMtS`hs}SsK+L!ND%RwW#5enx}G( zOX)KyDR0t9{v#=WOiG8`a0Beo0Ghf*H$*g}&tB^hhl@~U5Od&try86CKC?aEuj`Ht zPYIsQ-;d`ns;>?QS6!Lj*K3;6Lqnb*1w#nVrlqu$kUx@38%o<;j6pb_>DG%ZZzY?MbJ}Ab zAdiq&(lw{NLQfrevxJP$F!Rl5X1>wk+FHU$HaGvuTh7?McUBUTu}{~&Aq5P$VhzuE z6XXGBrwjrRe;5elb8#(l0pWL+jvgqNrGZPDdS=S5Znbq$(*i16`Or!tGWO}(EmFvG z4lECV&v-5{oR55QjOJqqVRXYGx)BtKVN5MzH~F%vO^xERua<2#vMk$`W#6@OnoYBv zY-cJ7dhcF7rl{I>wVt{0qOQ8$;E$BMQ1?oug68!zN?kTcnAfA9H7YnuCoYx)E~QJP zq`Y1s*)OF0-IvPedJk}c8cF;?y*0X#i{sW5$nDzhw literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0004_remove_auctionlisting_username.cpython-37.pyc b/auctions/migrations/__pycache__/0004_remove_auctionlisting_username.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..196e7fb788e65779b5bd042b970ce794183789ca GIT binary patch literal 534 zcmY+Au};G<5Qgm}4QXf*Ozdn~s?c@;A%p(f?M|+}e2%&u;XrL*O>YfnKO;VU4qX6ev0aj^_slEV+QM~g`kg0&pw@gVv!h=2h`Aj1KOi&=m~3PUi1CZpdI zla!a7kr?BWU!IqfpO{h{lboNMn_85d8k1O>T#}ieR~(a@nO>9#VaCU2=4F<|$LkeT U-r}&y%}*)KNwotR{TYZE01Evkz5oCK literal 0 HcmV?d00001 diff --git a/auctions/models.py b/auctions/models.py new file mode 100644 index 0000000..f4fd0ed --- /dev/null +++ b/auctions/models.py @@ -0,0 +1,22 @@ +from django.contrib.auth.models import AbstractUser +from django.db import models + + +class User(AbstractUser): + pass + + +class AuctionListing(models.Model): + title = models.CharField(max_length = 64,primary_key = True) + user = models.ForeignKey(User,on_delete = models.CASCADE,default = " ") + price = models.DecimalField(max_digits = 10,decimal_places = 2) + desc = models.CharField(max_length = 1000) + picture = models.URLField(null=True) + + + def __str__(self): + return f"{self.title}: {self.price},{self.desc},{self.picture}" +class Comments(models.Model): + title = models.ForeignKey(AuctionListing,on_delete = models.CASCADE,related_name="auction_title") + comment = models.CharField(max_length = 1000) + diff --git a/auctions/static/auctions/styles.css b/auctions/static/auctions/styles.css new file mode 100644 index 0000000..d61a8dd --- /dev/null +++ b/auctions/static/auctions/styles.css @@ -0,0 +1,3 @@ +body { + padding: 10px; +} diff --git a/auctions/templates/auctions/create_listing.html b/auctions/templates/auctions/create_listing.html new file mode 100644 index 0000000..296aaa8 --- /dev/null +++ b/auctions/templates/auctions/create_listing.html @@ -0,0 +1,37 @@ +{% extends "auctions/layout.html" %} + +{% block body %} + +

Create Listing

+ + +
+ {% csrf_token %} +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +{% endblock %} \ No newline at end of file diff --git a/auctions/templates/auctions/index.html b/auctions/templates/auctions/index.html new file mode 100644 index 0000000..b9b1cc5 --- /dev/null +++ b/auctions/templates/auctions/index.html @@ -0,0 +1,29 @@ +{% extends "auctions/layout.html" %} + +{% block body %} +

Active Listings

+ + +{% endblock %} \ No newline at end of file diff --git a/auctions/templates/auctions/layout.html b/auctions/templates/auctions/layout.html new file mode 100644 index 0000000..975338e --- /dev/null +++ b/auctions/templates/auctions/layout.html @@ -0,0 +1,49 @@ +{% load static %} + + + + + {% block title %}Auctions{% endblock %} + + + + +

Auctions

+
+ {% if user.is_authenticated %} + Signed in as {{ user.username }}. + {% else %} + Not signed in. + {% endif %} +
+ +
+ {% block body %} + {% endblock %} + + diff --git a/auctions/templates/auctions/listing.html b/auctions/templates/auctions/listing.html new file mode 100644 index 0000000..c8bc5ff --- /dev/null +++ b/auctions/templates/auctions/listing.html @@ -0,0 +1,16 @@ +{% extends "auctions/layout.html" %} + +{% block body %} +

Listing:{Listing.title}

+ + + +

{Listing.desc}

+

${Listing.price}

+ bids so far +
+ +
+ + +{% endblock %} \ No newline at end of file diff --git a/auctions/templates/auctions/login.html b/auctions/templates/auctions/login.html new file mode 100644 index 0000000..67624a4 --- /dev/null +++ b/auctions/templates/auctions/login.html @@ -0,0 +1,24 @@ +{% extends "auctions/layout.html" %} + +{% block body %} + +

Login

+ + {% if message %} +
{{ message }}
+ {% endif %} + +
+ {% csrf_token %} +
+ +
+
+ +
+ +
+ + Don't have an account? Register here. + +{% endblock %} \ No newline at end of file diff --git a/auctions/templates/auctions/register.html b/auctions/templates/auctions/register.html new file mode 100644 index 0000000..47e956f --- /dev/null +++ b/auctions/templates/auctions/register.html @@ -0,0 +1,30 @@ +{% extends "auctions/layout.html" %} + +{% block body %} + +

Register

+ + {% if message %} +
{{ message }}
+ {% endif %} + +
+ {% csrf_token %} +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + Already have an account? Log In here. + +{% endblock %} \ No newline at end of file diff --git a/auctions/tests.py b/auctions/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/auctions/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/auctions/urls.py b/auctions/urls.py new file mode 100644 index 0000000..f758835 --- /dev/null +++ b/auctions/urls.py @@ -0,0 +1,13 @@ +from django.urls import path + +from . import views + +urlpatterns = [ + path("", views.index, name="index"), + path("login", views.login_view, name="login"), + path("logout", views.logout_view, name="logout"), + path("register", views.register, name="register"), + path("wishlist", views.register, name="wishlist"), + path("create", views.create, name="create"), + path("categories", views.register, name="categories") +] diff --git a/auctions/views.py b/auctions/views.py new file mode 100644 index 0000000..c6d2f4e --- /dev/null +++ b/auctions/views.py @@ -0,0 +1,92 @@ +from django.contrib.auth import authenticate, login, logout +from django.db import IntegrityError +from django.http import HttpResponse, HttpResponseRedirect +from django.shortcuts import render +from django.urls import reverse +from django.core.files import File +from django.core.files.temp import NamedTemporaryFile +from django.core.files.base import ContentFile +import requests +from .models import User,AuctionListing,Comments + + +def index(request): + listings = AuctionListing.objects.all() + + return render(request, "auctions/index.html",{ + "Listings":listings + }) + +def listing(request,title): + """ + docstring + """ + listing = AuctionListing.objects.get(title) + return render(request,"acutions/listing.html",{ + "Listing": listing + }) + +def login_view(request): + if request.method == "POST": + + # Attempt to sign user in + username = request.POST["username"] + password = request.POST["password"] + user = authenticate(request, username=username, password=password) + + # Check if authentication successful + if user is not None: + login(request, user) + return HttpResponseRedirect(reverse("index")) + else: + return render(request, "auctions/login.html", { + "message": "Invalid username and/or password." + }) + else: + return render(request, "auctions/login.html") + + +def logout_view(request): + logout(request) + return HttpResponseRedirect(reverse("index")) + + +def register(request): + if request.method == "POST": + username = request.POST["username"] + email = request.POST["email"] + + # Ensure password matches confirmation + password = request.POST["password"] + confirmation = request.POST["confirmation"] + if password != confirmation: + return render(request, "auctions/register.html", { + "message": "Passwords must match." + }) + + # Attempt to create new user + try: + user = User.objects.create_user(username, email, password) + user.save() + except IntegrityError: + return render(request, "auctions/register.html", { + "message": "Username already taken." + }) + login(request, user) + return HttpResponseRedirect(reverse("index")) + else: + return render(request, "auctions/register.html") +def create(request): + """ + docstring + """ + if request.method == "POST": + title = request.POST["title"] + desc = request.POST["desc"] + starting_bid = request.POST["starting_bid"] + photo_url = request.POST["photo"] + obj = AuctionListing(title = title, desc = desc, user = request.user,price = starting_bid, picture = photo_url) + obj.save() + return render(request,"auctions/index.html") + else: + return render(request,"auctions/create_listing.html") diff --git a/commerce/__init__.py b/commerce/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/commerce/__pycache__/__init__.cpython-37.pyc b/commerce/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..497af4142c453cfc1f5008abfe6665476efef008 GIT binary patch literal 141 zcmZ?b<>g`kf=_q+;z0Cc5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o6wv*(xTqIJKxa zCMhpDBQeG$zdSD|KQW~^COJPhH?=4^6~Ty)&&ZSzw8fuy$3) z`VsvFd1xN{Z~Cm6KJ}@8p-(*$U>K5_x-43b&Ytg_vuD4v>=X+51b%+~v+?uZN+R)B z^fLYAPG7lWFnET3{0ozii~hhogNdrt|waVa7a9hh$GJ(5Q|Is{4Q~bXL15!=Tv+E zF=*3-A$3H?O^;73ABa9fH{!(Wmh@P9is(1!bm)3Sqz?KYnw+|hh+p2P7?IlKJ4}G& z`<##1%Tftki%H`c(+n`B5^+lCu*BUFwODDIacS(H_lel`ZCkV{!XY2Id!>)6>{chXo zKYjA(*eu>VVO!n)#<8a7Oy7#O&4Tsu&LqoqxJNruT*ctZqSojA;P!$tf)I!E(-C38 z^@T-77>ffeE(~$O>>=XTB7);dSW*31usK;9QUIHrm>!WBv3!s6Q%Ri&^|Q6$*`ljS zaA^*&j&*aW;-^6(uDOm>j(`5clzCmLjMD)nCv&DR7IHDMbn|)0_>NVhR?NFO;Nm8x zg_;M~$HkjNJ^#!mY-+t5nASVwzVzc8&m5BGC_e2uTw&T)lJD6pC{5gOG9201SyBh_ z#DOXErApjn+GLsOm*dla&kgJe3$t=P7Cc;Z@~Mpkq~rI3Z_i=rkz?!+9z2@Zo-s5k z=x01fg$}kBjL(Yr8NhU{D1_M^x%^gXRCJ+IZK+{S-rqN3DcjuFs?CNP+&rt-3F}eG z9F4Hb@ezhuAYIe9`5B|3GbnT(yd9vFCcP>7?)5Sd54>vN*gA+^n@O%BEut{1#Iuctb7=+Gb5h|}Z! z8UBa!;>TUHKgn_C;PrVOG<>}1sr9LcCE{%QOi#D9a*!+G6_4#xD&7pUhJm-UVT37{ zg~G_>eLM{6Imq}hYj#+y$r(m;sThWy+mTfzI@d6-D&>}<8E=)J!ljC`)7}jWa;?@p zR4T?^Q`OXPwc1cMRG|XNpoaN+wNj}mhjL2^S6a=cX0%(iax zi7YJC7W-c^h;T4J1PT`}|~(k6#^qxxjKF_vmi9yh{Fq|AleJ1o1`eht4A zapT05BPYggDk>zTwG?YI8ozn(js0pch!Ct_-_Jii=pgjN{_Ix>!3+4b-6)zN>QTS+ zxIgnf8+XbM4`u-mXQ78!NCW0?jyBz`4{^u>dbIVn{@S1QX!iq(d*ri^P$oHNDr5NK z{X0CBVpXhbMNA<@6n)GYzN}SQ5o4GV`VyCgHdx8pFl`TLY$X0tuq&P5Q>ieQis3@6 zq~Z<&S0y8wVa?bi!mx5pNq|VoMEWFolp0wTnNDqS3hi|o zz4=NwVChM8T8qrG+qHF|j}!coQcMIccqNsYV7yY2V}89LRn;aB>QCBwCm94BD1@UR zHXjX#<5pKLIU8d^ID0m<@i302CDHof5`@tM)c>)NCTGeLNt{u8I&T5XvA-o7Tb~fU zupp!OA4X>)D{ESaHJIS~S!o#zbMMcYGX?_{7>})GqZqGRDB_;d_#8?bw-e zYqrZ$u2V2@-)U$Q4tE&G(NDO$DE69=P+o}GZ@O(=6IknSj$A%%(9M9^hq4cb)q1g?|ErimvPK-gC76N7hn+&(%%Mnpt{ zs%RA9-B7e_j2aPvXx{v>C7NREC&jGsjf}Ph9g@!W-9!9k*z2?0=&3B&)L0D55^N5v zvStpsPvW@m8QfIHfn$CKY~8_?;#Ue7cZ{>rh-(FV3KpQ)f?K&NXcVwep_OH*Al0Y&-l1&mRcDu+<3$PKd3p9>Nd2G*IRzuMi^JSCT-Il`kX!j DL@KPg literal 0 HcmV?d00001 diff --git a/commerce/asgi.py b/commerce/asgi.py new file mode 100644 index 0000000..5594f23 --- /dev/null +++ b/commerce/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for commerce project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'commerce.settings') + +application = get_asgi_application() diff --git a/commerce/settings.py b/commerce/settings.py new file mode 100644 index 0000000..016409a --- /dev/null +++ b/commerce/settings.py @@ -0,0 +1,122 @@ +""" +Django settings for commerce project. + +Generated by 'django-admin startproject' using Django 3.0.2. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.0/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '6ps8j!crjgrxt34cqbqn7x&b3y%(fny8k8nh21+qa)%ws3fh!q' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'auctions', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'commerce.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'commerce.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +AUTH_USER_MODEL = 'auctions.User' + +# Password validation +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/commerce/urls.py b/commerce/urls.py new file mode 100644 index 0000000..2f7a9e0 --- /dev/null +++ b/commerce/urls.py @@ -0,0 +1,22 @@ +"""commerce URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import include, path + +urlpatterns = [ + path("admin/", admin.site.urls), + path("", include("auctions.urls")) +] \ No newline at end of file diff --git a/commerce/wsgi.py b/commerce/wsgi.py new file mode 100644 index 0000000..054e015 --- /dev/null +++ b/commerce/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for commerce project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'commerce.settings') + +application = get_wsgi_application() diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..d8116c01198f293ce5e092171de3840c131a6624 GIT binary patch literal 192512 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�ZkvUe1M)ErGJS$u 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 literal 0 HcmV?d00001 diff --git a/google_9q82OQA b/google_9q82OQA new file mode 100644 index 0000000000000000000000000000000000000000..492f44c27eb2d402e0dd3446b4d38192e75874c4 GIT binary patch literal 15903 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�ZkvUe1M)ErGJS$u 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 literal 0 HcmV?d00001 diff --git a/image_google b/image_google new file mode 100644 index 0000000000000000000000000000000000000000..492f44c27eb2d402e0dd3446b4d38192e75874c4 GIT binary patch literal 15903 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�ZkvUe1M)ErGJS$u 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 literal 0 HcmV?d00001 diff --git a/image_google_sTknGkm b/image_google_sTknGkm new file mode 100644 index 0000000000000000000000000000000000000000..492f44c27eb2d402e0dd3446b4d38192e75874c4 GIT binary patch literal 15903 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�ZkvUe1M)ErGJS$u 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 literal 0 HcmV?d00001 diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..bea064a --- /dev/null +++ b/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'commerce.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main()