From a25a71a7e200f266eae2ca1b9fca3908586d7886 Mon Sep 17 00:00:00 2001 From: Priyatham-sai-chand Date: Mon, 19 Oct 2020 01:36:31 +0530 Subject: [PATCH] add comments --- auctions/__pycache__/admin.cpython-37.pyc | Bin 303 -> 335 bytes auctions/__pycache__/models.cpython-37.pyc | Bin 1185 -> 1637 bytes auctions/__pycache__/urls.cpython-37.pyc | Bin 576 -> 633 bytes auctions/__pycache__/views.cpython-37.pyc | Bin 3644 -> 3462 bytes auctions/admin.py | 4 +-- auctions/migrations/0004_comment.py | 25 +++++++++++++++++ .../migrations/0005_auto_20201018_2304.py | 23 ++++++++++++++++ .../__pycache__/0004_comment.cpython-37.pyc | Bin 0 -> 1007 bytes .../0005_auto_20201018_2304.cpython-37.pyc | Bin 0 -> 716 bytes auctions/models.py | 11 ++++++-- auctions/templates/auctions/index.html | 10 ++++--- auctions/templates/auctions/listing.html | 22 +++++++++++++++ auctions/urls.py | 5 ++-- auctions/views.py | 26 ++++++++++-------- commerce/__pycache__/settings.cpython-37.pyc | Bin 2301 -> 2301 bytes db.sqlite3 | Bin 217088 -> 221184 bytes 16 files changed, 104 insertions(+), 22 deletions(-) create mode 100644 auctions/migrations/0004_comment.py create mode 100644 auctions/migrations/0005_auto_20201018_2304.py create mode 100644 auctions/migrations/__pycache__/0004_comment.cpython-37.pyc create mode 100644 auctions/migrations/__pycache__/0005_auto_20201018_2304.cpython-37.pyc diff --git a/auctions/__pycache__/admin.cpython-37.pyc b/auctions/__pycache__/admin.cpython-37.pyc index 84f54ed5085973a9b3aafcf59522366628b9021c..dfd5cc25962a4ac56a779c84df76ed9bf9f4e71d 100644 GIT binary patch delta 132 zcmZ3_be@UViIhdn)rnMmU=ViOo7O zNlljN7N28ja!F=>o=;|RNoHR9Eq3Sp+}zZ>5kM$n8mt)EtPp8Bb?1Lu}DpX@fM$B uX>v(sex6TeaY<%gx}PTd#I5QR9}2T^0*xu+ocPO~hXcssVFW^E9!3Bsix|HE diff --git a/auctions/__pycache__/models.cpython-37.pyc b/auctions/__pycache__/models.cpython-37.pyc index 3a29ecccbc8c18327ef768e1e469b8336203bd8b..6d09c6e057c2ced3b5db1b420eec4a9353c69c59 100644 GIT binary patch delta 920 zcmZ`%O>fgc6x>}qu^k*I4GpAFAPT7}3+SOI4p0@shlE0eN_sI8R>&^kD6yrrBWP6= zBzmM0mU~9+kzc{zK)&-cka*7yDF;|<$LpDAzxB+X8b3|zez{yCFpdvCyC2lpYS3r# z`rXE3!ZofR60QqnRQRMg8aJL3yA+RZwkecv!wgLTK^)47!#D+*rRr`dWY1ROUv1+X zkvddJJ$Xo9lnSuih8cd0PwL5cy0Zaat_h7ZZu0Vx;+*FeuN)F*nOEUcOR05lI*h!) z?|Nb6`EQaod%21oZJMh7bUcQ;IhaO)>j&@L0q60LR`Qh{H}alPC=GyAbKNkKuDg^x zQQED##C^yjf`*`AjnR2KkdHhu=5i(ZqHNACp>!D~eRrpuE33#|L9YB@5Q)Aw5xH;` zxysXlzt;~CbGDAm3M9;B*SOd_hMXNB)`Bj~J-6&OP(C#6&3oCC(>1ztR&PB{C;w3=cy*6gcpXo_1hnKga0-8Ichpd(AEoJSM$;Z7pox zYOaO0l4|2TV7UUX$TomIqw*R)oH>`7)&vei2^j#P`<3~&H|7!d?8?95l`W{w43*b$ zbpt^~z-Fn@7w@Aivs8T*@IASX=Tu^<|Ig0`6%!6INS)T;(y7TL@;zHmHr1`$C}qT7 a|FJj$seWe?@ab4=p<^NP5I?IbHS0G%46>*I delta 455 zcmZut!AiqG5Y1+jCeb7Yi%@D+ECmUOqF1$O6;GuHZ7&fTLO0ZuG?7h$7eNG%iiGtC zJo+zwLGa?iFYx3=+-VM8++p4f^M*Gw`>DTZX2&q*1peM953Yc7vxeIF#zBQB=Yp-~ zH=7-qlZV`s1_xho5D^^F#}kPlA`(obN9@Q%=Ixb28YDg~%%g0S265C4k~E0MeKr-F zxMx@Lx0XmT`@l;^g=@VE)Zl>{`S(S>qM<7`MB^&aiE%GDi^SxL3lyfaFEngeJh4$B zMOhf~sC!u&yHR}YdW5hi@wrxNfuPBuP+T`jsq0#754W0CssRI+(s=+3J=*c5M^6Jk zB(%=%@b2w0P;h6V4$itIvjVkMs2L|->i2`GUlMCTtONXwo@Fq9wz$HR1Qu73i7f7V uY2u9S*-B9-6E7OaTcbEiX~2Hu?H#!IKgB}bpT;B${Wbzw_(3iwTKE@)17Yj{ diff --git a/auctions/__pycache__/urls.cpython-37.pyc b/auctions/__pycache__/urls.cpython-37.pyc index 8f0d0918d031f095ae23018286c0ae99f80ad5ac..d41307494b9b84641af1b5d01fb0d922be26c423 100644 GIT binary patch delta 188 zcmX@W@{>i~iIF)%y^abSQK$Z!DS;&~I*XL6-;MscSI1~X_1O}tUd zCXktzl36x6fl-s$Pm^czO2!aT?$V;1g2a-N)S|rNl?+9KK%GT`lO>tl7)2&0Fo^>I DGfx@V diff --git a/auctions/__pycache__/views.cpython-37.pyc b/auctions/__pycache__/views.cpython-37.pyc index 57c37f196cec370c4ed057378753e3c300c816d4..6b111cbaeefd60c6206dfd5696e2cc75e78be6b7 100644 GIT binary patch delta 1524 zcmZux&2t+y6kqM9yk5JB?WA#%Hg;$m+)U}A=@)Go(lQCtfdW(D-~%4l63M!2Z_vu& z%NZXMI5jh5bY+I-!VFh><m`@Q$1U*^A^E8Hy< zLJPikcb~Mn2Zbv6^LAJHyUGKg$+a4f;7&XN%C!vzdohEcFJo0DY0c5@M;RBoxH{;_IPJd^XEN?@=-^)3>%l7Z1NlV#Veh*?S)!tz z*f;W;wpwvNmaSGn?K|u0P5b<45{?$rD3GR(-r}9O*G|@Ao-k2HedT2_h0_TTd1#pr zf)bZd$LKl)=J?srJZSfzWwRip)g@2uLu-dfXJ|3P>>-KCuI~Ur=YeWRQ==w5qL4LQ zQGh)!edhXRnITH$T7BFgOgG=rAxZF&cI0qV0L~$N%Zr0xB;~06Oh8j=CGU1|*OO{X( z963D^FL42kn4=6&v)m%YDO5^#sd`#tB0>i7&vJwc(r6jUT#*f|D_|2VC>GUSy5@-njMaCv zez}IqV>41eK}Uy4x)JwV+cE$Aj{2RRA=lL3^y)h1zu^cMcLXSMs32p!FQe3XI3gWL zbH)d-EW=$Ep+sC)U*~=+AOP+0UOP_2ifV=z$yN1DxI&GOylANBVVRkfsx2gNZ8e~iNLx`8Ic{U(n7k0BL&18Sd(kJZimGP$LA{%5kRW}<~9jBmpi z%eeLSzxz#wI$Q@^aYqgWhbSMqGip0p7-32uGy)UgaY^CL8+$cy@zx1k1&eApK0f*m zOq;o_%~YnXfk*`U)(+g+lNs^HK}f-#;ag+5SYh}VQA|T%LoBvcwOIImXlfcgYIiLa zJ@c@b+iMEdcoEmYEUu%tg<=)OaSqMMJO%W2FJ*&-zkv@^h8d}l2x>brf5n+5B}xNY L45w&?dbIivb&NPo delta 1688 zcmZux&2L*p5P$o=yzxg;?8J_fv^1q3n4lyenwGYdG?5a7ssL&c!Uv4&-6YSv*kRr} zMaUrt2c$|=BHCN&p*_i~NN+r|<@60($(PS6e?O4`ZOOcF)N#C|h)OwVB>p&3=ps4S- z7e`%Z8&v3)BtEg=|Qt3|Cy)oMffS9iGxPti=Cpg>S2n9x_f(#|-E z{XL#YWj=xj6Pb)BZ)W7}@meGoi! zU|NNO^%!%yZZjp^va{`}uPJXqMjrC`)-ej3s$OrJrS!gf{s5f)cXZU zW}=pmA5E{Tjkw}g`F=r?$CRxi%asA3uuZCct0@~QFH?Y+?M42T#uz^vq3DNAZG`<{P zL_cIMgDKQDsBZL7_XIc=pG8PcAP{*?x61^(i?k7e!bMixh*>^-{k1=?|MVx{@@;x> z3fCBKO{#vp9*`#!s7S>UDkvX~Ftwk?X`Hh)b^JjVGMLey1wXQio(o^wd6Cu;dwuue zY7{F8aF#Tdmi{*I0xAAy6PU$`=W+B&@Hxx6dB$BLARFLjH2&eX1ahMu#W1J88F-Fe(2oXQ z+Od0N;37@~@oY(hEJ?OrnFh$Zk~Iq3_(^?B0ucbz4u^sY`$5?}uh5jG;}w!#CO9~* z{lgA&4O>(Kdsly+o?`R*`}7aX(`adYA(Mv5CfL?=bJcD|q8e}}&5WV{SY>qAIR`&iUw1@HOHnm6E-bnUn!3@q==WvOn%LMZT vO9Tg$S*g$4m5sLO#PTZLXvs;0VU}gbaL{|qE3&+s=X{9s^e`Xh0Wbdx=p163 diff --git a/auctions/admin.py b/auctions/admin.py index 466ccb9..3fac663 100644 --- a/auctions/admin.py +++ b/auctions/admin.py @@ -1,8 +1,8 @@ from django.contrib import admin from .models import User -from .models import AuctionListing +from .models import AuctionListing,Comment # Register your models here. admin.site.register(User) admin.site.register(AuctionListing) - +admin.site.register(Comment) diff --git a/auctions/migrations/0004_comment.py b/auctions/migrations/0004_comment.py new file mode 100644 index 0000000..87da767 --- /dev/null +++ b/auctions/migrations/0004_comment.py @@ -0,0 +1,25 @@ +# Generated by Django 3.0.8 on 2020-10-18 16:42 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('auctions', '0003_auctionlisting_date_added'), + ] + + operations = [ + migrations.CreateModel( + name='Comment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('body', models.TextField()), + ('date_added', models.DateTimeField(auto_now_add=True)), + ('listing', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='auctions.AuctionListing')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='commited_user', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/auctions/migrations/0005_auto_20201018_2304.py b/auctions/migrations/0005_auto_20201018_2304.py new file mode 100644 index 0000000..de1ed5d --- /dev/null +++ b/auctions/migrations/0005_auto_20201018_2304.py @@ -0,0 +1,23 @@ +# Generated by Django 3.0.8 on 2020-10-18 17:34 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('auctions', '0004_comment'), + ] + + operations = [ + migrations.RemoveField( + model_name='user', + name='watchlist', + ), + migrations.AddField( + model_name='auctionlisting', + name='watchlist', + field=models.ManyToManyField(blank=True, related_name='watchlist', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/auctions/migrations/__pycache__/0004_comment.cpython-37.pyc b/auctions/migrations/__pycache__/0004_comment.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1e76d7f91792995a07e869353ebad87ccb876778 GIT binary patch literal 1007 zcmZ8g&2G~`5cb-RV>?Nk79<1*PFw;~R0&QMLJdg@h!!N8UaUwf$1@E!{s~@(l3wYN zyaOD06&_))oOlIJ%z6_lvC^()cER~r{f#6!o^qq(=v=-%GoZPj3e6OkPa|_ zrAEdA#*}TQW@ZIeW(RidTWKS3UKn6QIG>B2 zDg7*-mthqbxsXm)0H)$ir1G|_O~w&zaZLvr0Rtm2fz4T9p`A3q1Ph&{Nr;3A4m8*H zg$XV?-`wv8Ssq0_iur3sUW+^*TS+@{l1{P%ZRo(x+M>wre~~WkCS4tyH(+mV65<~0 zQy;gace*7_9k}5#(){lq92`968#j%G>XAcOArAo%WOG<#8RnHVW0)LE^VO(l%XYY| z3Lce6c_3ShGS0$s#XsOmdIHNhOyet*?N3Pl~dpDS&4Mnr28XQ*BOxF|86=dVd82a+(K7t(~8bn8B7oJj4#*>Er#m!>MZJ2;=b zH(^|CNm;>FJ;Fjn@6es%%g}m$v9C!*Xn!ndWWgvmJJi)zO|STbg)3D)I|W)7#v@tX4-0 pa`)e5U;iQfZIk5##am(BbfB$AbSK@X`W>DrrG-OBn{}CM{RO5&ExP~! literal 0 HcmV?d00001 diff --git a/auctions/migrations/__pycache__/0005_auto_20201018_2304.cpython-37.pyc b/auctions/migrations/__pycache__/0005_auto_20201018_2304.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3d2de5c6962cee008e6a0b80aeb38e467efb72ec GIT binary patch literal 716 zcmYLG&2G~`5Z)i#v6B>fh9~f)azl|2LRAYba3BS>$;DV&Ii79m)ZPtVhpG}cIFh&E z!Yl2S6R*IDStn6Pn$O>^XXode*L!#jHzNcfKr2$ylv2l8 z#cH1N+Dko3-Vxy7{UG2;zVN^E)Cd2H#KB*DM`CJ2BipuAa}zV$ugiIpx20Cb2DJuR znZkwbEJAXEZjKQoNhy$&0iDy7OK;%=bEVb{c>q3e*;|AV;5SYus||<8iL;C)(lW7FUS3r_;%MF}*s!6yuL) z=O1ieFXdMA-=ukhF&+H-^yXzY#o0|ZQ^if5o#{JO=^RYfNz)WE+ewx^tSv+Fo{N0d zYB5Si$zgK%LX4gzM+eLM#>d<}bhD2T^1$;bqXBcsX!rLb4(tFHxti;PLaXbhYdPB9 gz^og(o30Cg=yt=NVqP1*+Q@h81Ts#EA>HTy0rf`05C8xG literal 0 HcmV?d00001 diff --git a/auctions/models.py b/auctions/models.py index 655ce55..414cd00 100644 --- a/auctions/models.py +++ b/auctions/models.py @@ -2,7 +2,7 @@ from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): - watchlist = models.ManyToManyField('AuctionListing',blank = True,related_name="watchlist") + pass class AuctionListing(models.Model): title = models.CharField(max_length = 64,primary_key = True) @@ -12,10 +12,17 @@ class AuctionListing(models.Model): picture = models.URLField(null=True) category = models.CharField(max_length = 64) date_added = models.DateTimeField(auto_now_add=True) + watchlist = models.ManyToManyField(User,blank = True,related_name="watchlist") def __str__(self): return f"{self.title}: {self.price},{self.desc},{self.picture},{self.category},{self.date_added}" +class Comment(models.Model): + listing = models.ForeignKey(AuctionListing,on_delete = models.CASCADE,related_name="comments") + user = models.ForeignKey(User,related_name="commited_user",on_delete=models.CASCADE) + body = models.TextField() + date_added = models.DateTimeField(auto_now_add=True) - + def __str__(self): + return '%s - %s' % (self.listing.title, self.user) diff --git a/auctions/templates/auctions/index.html b/auctions/templates/auctions/index.html index 3ab8196..e46d39d 100644 --- a/auctions/templates/auctions/index.html +++ b/auctions/templates/auctions/index.html @@ -17,12 +17,14 @@

bid price : ${{listing.price}}
- created by: {{listing.user}} -

+ created by: {{listing.user}}
+ + created at {{listing.date_added}} +

-
+ {% csrf_token %} - {{ watch_form }} +
diff --git a/auctions/templates/auctions/listing.html b/auctions/templates/auctions/listing.html index 5fee189..1bdcb7d 100644 --- a/auctions/templates/auctions/listing.html +++ b/auctions/templates/auctions/listing.html @@ -14,5 +14,27 @@
+

Comments ...

+ + {% if not Listing.comments.all %} + No comments Yet.... + {% else %} + {% for comment in Listing.comments.all %} + {{comment.user}} - {{comment.date_added}} +
+ {{ comment.body }} +
+ {% endfor %} + + + {% endif %} + {% if user.is_authenticated %} +
add comment..
+
+ {% csrf_token %} + + +
+ {% endif %} {% endblock %} \ No newline at end of file diff --git a/auctions/urls.py b/auctions/urls.py index 2a59bbc..71953be 100644 --- a/auctions/urls.py +++ b/auctions/urls.py @@ -10,6 +10,7 @@ urlpatterns = [ path("wishlist", views.register, name="wishlist"), path("create", views.create, name="create"), path("categories", views.category, name="categories"), - path("category/",views.category,name="indiv_categories"), - path("listing/",views.listing,name="listing") + path("category/",views.category,name="individual_categories"), + path("listing/",views.listing,name="listing"), + path("watch/",views.watch,name="watchlist") ] diff --git a/auctions/views.py b/auctions/views.py index 27d0486..8fa8bca 100644 --- a/auctions/views.py +++ b/auctions/views.py @@ -4,12 +4,10 @@ from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render from django.urls import reverse from django import forms -from .models import User,AuctionListing +from .models import User,AuctionListing,Comment categories = ['Fashion','Electronics','Home','Sports','Toys','Automobile','Books','Video Games', 'Other'] -class Watch_Form(forms.Form): - watch_this = forms.BooleanField(required=False) class Bid_Form(forms.Form): bid = 0.0 def __init__(self,bid_value): @@ -20,17 +18,11 @@ class Bid_Form(forms.Form): def index(request): listings = AuctionListing.objects.all() - watch_form = Watch_Form(request.POST) - if watch_form.is_valid(): - print("asdf") - watch = watch_form.cleaned_data["watch_this"] - print(watch) - - - + if request.method == "POST": + return render(request, "auctions/index.html",{ "Listings":listings, - "watch_form": Watch_Form() + }) def listing(request,title): @@ -38,9 +30,15 @@ def listing(request,title): docstring """ listings = AuctionListing.objects.get(pk = title) + if request.method == "POST": + body = request.POST["comment_body"] + comment = Comment(user=request.user,listing=listings,body = body) + comment.save() + return render(request,"auctions/listing.html",{ "Listing": listings }) + def category(request,cat_name = None): """ docstring @@ -61,6 +59,7 @@ def category(request,cat_name = None): return render(request,"auctions/category_listing.html",{ "categories": categories }) + def login_view(request): if request.method == "POST": @@ -128,3 +127,6 @@ def create(request): return render(request,"auctions/create_listing.html",{ "categories":categories }) + + + diff --git a/commerce/__pycache__/settings.cpython-37.pyc b/commerce/__pycache__/settings.cpython-37.pyc index dcbd05ced9c5566901bcef7e889cad585219a828..098eb34ff05e13f0c024e3b613d0fb2e64e39d9f 100644 GIT binary patch delta 20 acmew>_*anIiI_*anIiIP190JrCl)|#wLU&4XH#$?ZX}bO=#1!35|!nZL4@-zibFiMcT{en1+Gas2OwYCa}k?bxZY`tJIr!LuD7JwIJBi@ z`h(Ri{Yp#>kf2CJ(k|$?!V9t*2&w_WugF433~5qsiW6U%%W++M;cPHeP3ABJ~rV zHUR7La>{B@&obwlzK=6k}B1?fs=p1X(#_`h>R{TRU zAr*y{Z&i#H6uMScD5+vt7vYy>B1lTD!fPg7&D<^c67$N?$iAU`X6R@-L5_|kv&o@D zV~6%DZywCcg8?Fp&j0c~aNw%^CXx^gO2XU%Ec}1y+|zbtitq zb`Dsk9&~}Ma~AGfc!%q9)k@m?E(CogZ5w=ag+IH%ZhVG`FgW5$IyJ|)j#m2-TfzD> zx0h?Sq|JBDFSGL|f?UwdM5ZE*SnGSu;yD-vEuYRLQ-_TXSySzhSbj7$5=$pzVmy&b zg%WgK5j9h768Y%4lgRa7p4lR5p?fscj7N8I9?cwug15>+qm#(X5fUDV4=TipfTy7zdOezwI*E&cPV&FNxG!Osf?&G7qystLM z$8W4Apsnt=c=~k(FRrYhJQvfMy~ddjN`xfhp;|oulOk4#c)E_NvtCQ4&*Eushf@Kg zmbEms?=N(1?~e3!^L>%6J>9&I&J>WGd&hfp`KEAiVr-%OW z7UE6%3DVDZz_4)&u!;WqE}EI|JcVupJzqrU=tu!A&bv>e(=6C#;lkgYXRmM${7u#L zDSRD6$CTD~5!~-xfK}{620zrh^B%TxY&}@Z&3Wl1llzhzx#xJ(gI2w#mnNz)JH68gY49`tzt^WX1z$gI# delta 954 zcmaizT}V@57{|}^?##0fj_5VPeF?bMwB>@A*H^pZ85p zvdIVRT~kSrqNo}rE0sh_28Jql2u`$)VwG7lonbhaY_+5{^0e^~vyH(GD*POO#wq+1 zpTkkyAeVIS!D>t>6P0PO?*}#$wFkf~zqNnzu(kD7b@f#>m338oO>KH6nwyD&$6*G% zOyOnxLW$R#L+SSrlc_PVW?DI8xmpFFVRgz}YtRhdA{6K`CbKW0Yy+ZMHV;u0ru4hE z3T3S#J)+;s&D^{yI|r|@r7O`N?hr24#cTP_uI}DyzFKs-`osRffWJ$)6cKY@KY#{` z*Vl6Kf>Us07hvK4Xm$~n@FwyZqAfDL_}ea9k_%WF-7+$6*~ijvl$mEK-Msdf)~M-X zvJ9u{Ks}J4W-(tptR7T**l+X-y^?9>?(3wAV~pXv8>B`ubpf{TPWWTNj&P_i=8N~W z_xeI@K9{r2DGGw;6Y2^n>XqZ)&xcSDNL zi)uGokU=k)$^^gY42pv2i$_8|h4_^e+MAc%#AwzTGU0`t1WBlreDuN&lDdt4@+t8M zV{p6SS}^7hgxd>R`ZmN1j!7boZ1i6b$fGp!kipZ?LMG2boYoU6qFC2i)aWfT_}v5_ z25Zi96Fq_4z#Vj*rj?IyMtK!Yh=gvSG4kaW8rGgT&KPX)Kkp3i zg}V2WYsTh_OzTBkdHG#JR?x}tVAV6!#ArczvE@qI