From b85cd53462a680dea39fc345ff40f57880fe2517 Mon Sep 17 00:00:00 2001 From: jbejjani2022 <51431082+jbejjani2022@users.noreply.github.com> Date: Sat, 8 Apr 2023 14:57:42 -0400 Subject: [PATCH 1/3] lab3 started --- .../__pycache__/__init__.cpython-37.pyc | Bin 174 -> 160 bytes .../content/__pycache__/admin.cpython-37.pyc | Bin 324 -> 201 bytes .../content/__pycache__/apps.cpython-37.pyc | Bin 392 -> 378 bytes .../content/__pycache__/models.cpython-37.pyc | Bin 1767 -> 1739 bytes .../content/__pycache__/urls.cpython-37.pyc | Bin 432 -> 289 bytes .../content/__pycache__/views.cpython-37.pyc | Bin 886 -> 325 bytes .../content/migrations/0001_initial.py | 36 ++++++++++++++ .../__pycache__/0001_initial.cpython-37.pyc | Bin 1480 -> 1407 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 185 -> 171 bytes crimsonbouquet/content/models.py | 45 ++++++++++++++++++ crimsonbouquet/content/urls.py | 7 +++ crimsonbouquet/content/views.py | 2 + .../__pycache__/__init__.cpython-37.pyc | Bin 181 -> 167 bytes .../__pycache__/settings.cpython-37.pyc | Bin 2423 -> 2358 bytes .../__pycache__/urls.cpython-37.pyc | Bin 1194 -> 1126 bytes .../__pycache__/wsgi.cpython-37.pyc | Bin 598 -> 584 bytes crimsonbouquet/crimsonbouquet/settings.py | 3 +- crimsonbouquet/crimsonbouquet/urls.py | 2 +- crimsonbouquet/db.sqlite3 | Bin 0 -> 159744 bytes 19 files changed, 93 insertions(+), 2 deletions(-) mode change 100755 => 100644 crimsonbouquet/content/__pycache__/__init__.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/__pycache__/admin.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/__pycache__/apps.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/__pycache__/models.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/__pycache__/urls.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/__pycache__/views.cpython-37.pyc create mode 100644 crimsonbouquet/content/migrations/0001_initial.py mode change 100755 => 100644 crimsonbouquet/content/migrations/__pycache__/0001_initial.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/content/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 crimsonbouquet/content/urls.py mode change 100755 => 100644 crimsonbouquet/crimsonbouquet/__pycache__/__init__.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/crimsonbouquet/__pycache__/settings.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/crimsonbouquet/__pycache__/urls.cpython-37.pyc mode change 100755 => 100644 crimsonbouquet/crimsonbouquet/__pycache__/wsgi.cpython-37.pyc create mode 100644 crimsonbouquet/db.sqlite3 diff --git a/crimsonbouquet/content/__pycache__/__init__.cpython-37.pyc b/crimsonbouquet/content/__pycache__/__init__.cpython-37.pyc old mode 100755 new mode 100644 index 2d74ef3ff194ca1c0901dfbfb16ff6db09387c0a..0d60a6179f37a3aef0f646d8b31cf4c24cf87ac5 GIT binary patch delta 63 zcmZ3-xPXzziI5n3ri}U}U84oS$3ZSX`W$ Ro|l`NS5h2oWIVCL3;;0z6QckC delta 77 zcmZ3$xQ>y>iI#QhsS+X==&DEHeP578=k1 diff --git a/crimsonbouquet/content/__pycache__/admin.cpython-37.pyc b/crimsonbouquet/content/__pycache__/admin.cpython-37.pyc old mode 100755 new mode 100644 index a0fbba66fc1d66caeeb2e3d6f6ba807db8e621d5..af6ae3e3f822c2b48af6be1696c46918b3aac69f GIT binary patch delta 166 zcmX@Ybds^&iIlA(whNP&r8Zu+6csYS*5 sSxKo`K&6@DMg~Sk`p)^e1&+nVndy1Csd**E!A8cDxf%6XKZDE%0KlInFaQ7m literal 324 zcmZWkJ5B>J5Vd!`n*a&o8rx)B3WWGcbTp7=yX<-t9Q=W?jl^xBgJW<8I=5800u|#x zs*LP6@6DT$#~0J-KBM^jy6)d8e`m3clE@ide@q~mJK{M@y359r$mcvehZnmC1zNGO9EfF=G<{$W)U?Pr+3I7ETa#+Ry diff --git a/crimsonbouquet/content/__pycache__/apps.cpython-37.pyc b/crimsonbouquet/content/__pycache__/apps.cpython-37.pyc old mode 100755 new mode 100644 index f0b342ab7def8c1c1dd76577c6ded9e298a34456..c9a394cbf443b15e8f91db3fbfe554983823f4c6 GIT binary patch delta 64 zcmeBR{>8-O#LLUY00av+8Kz9+xuEW5n3ri}U}U84oS$3ZSX`W$ So|l`NS5h2oWIS1ru^a$u!xT&a delta 78 zcmeyx)WOW-#LLUY00gIRuqRFAxnLTsA6lGRRIHz!T9%oYQ<|^ulAm0fo0?Zrte*@- bMVYxJsmU2&Msa>#QhsS+X==%2X2x;=@+=#9 diff --git a/crimsonbouquet/content/__pycache__/models.cpython-37.pyc b/crimsonbouquet/content/__pycache__/models.cpython-37.pyc old mode 100755 new mode 100644 index 87d208ad969823b28d24e3c4a7720fc2b729af9b..a4e11f78fcb7f21e3b81b5fb886fd2d420c82191 GIT binary patch delta 173 zcmaFPdzzQmiIZ4l%uyUEY*Cz0 zG3FHZRL&HR6wY4OD6UlQ6s{ER7KUcVD4rCa6y6qwDBcvlUx4^NuI5RyjH#M)MIM~Q| Qvo3Q#BO}k|y)0Tx0Fh2ErvLx| delta 205 zcmX@j`<$28iIp3EsMy-ZQ;smxg{Daob2V@}~nz* rQ}arS^^<|9C^NStH8}&!D9+DI$}cS}O)c3h$lTA!$hUbRixv|AGm<$y diff --git a/crimsonbouquet/content/__pycache__/urls.cpython-37.pyc b/crimsonbouquet/content/__pycache__/urls.cpython-37.pyc old mode 100755 new mode 100644 index 632861653b6d76051686acda4e68c73cf152e63e..da7b3d4c84859c1ab08b721b22ee1dde6e78d001 GIT binary patch delta 147 zcmdnMypT!ViIW3Dm78UDfC8cI%CFW%s85kMqJLl&X fI2IRYrsw6R=9Lr&8yQb7W7Okd0qWvm;$a2=O{gQO delta 289 zcmZ3;w1HXOiIE9Ag$t*6& zNvw>Aik6n-7gdQQ7L{Zs=cMY}6z7ztTY(6mQhu0HsH~qR$HY#>$RZA)lZrTj#4Ya9 zqMU-nl9JS-yyBG%MLZx05b-NmKeRZts8~NcwJb9)r!-&RB|o_|H#M)MSU(wviZXLc iQj;^ljN<&fr2Nvt($tcPul0C9X7e!dF!M3;F#-S>JyhcW diff --git a/crimsonbouquet/content/__pycache__/views.cpython-37.pyc b/crimsonbouquet/content/__pycache__/views.cpython-37.pyc old mode 100755 new mode 100644 index 5b89d4e93b0c791436e37cbc789fee0889c1017f..7d244b3d4411d3d76033707d7bc808275ba6a6de GIT binary patch delta 212 zcmeyyc9e7;+h-7#SH-m{OQq7^0X`Sb`Ze zSzm$_Pu%Qc#{{G`8E>%{r52W^7MHAKC}IJM{BqL|Elw>e*3U{x&B{v5%QP}DGSYX> z&n<8)F3wEP%T3KIDGoL=p6tx19t_e@3^Ip-v4{;w`e`!X;!XkTO3&BJC@Co@0?C18 cz-A*6tU!rd95%W6DWy57c8owC*c={a0MX7b#sB~S literal 886 zcmbtSyOPr|6qRH>mMk|&v zN;u=5^eR8|s~`&?C)}5VD$GKN13vgpvWSN~0zc$KJ_0}D@duKO9|4UdtQ%-ibD_J_ zjj&6#z7{z+y*zt$_DJ_T;!9OqU9MZJbQhj$Tjo+Ev>VT@ZQcvhsM?4eH{(E$lrLeL z2#f{F_Y_*P#db6oQmU77Rm>8qLs$izP>av4F!m?WL#X`vn0_)soAgH9mbGkEdZqHV z616pH4xcV7EAqkxM%8Q8!r%6v6ga~#>1`>#m|1hz1tlEwE4DO9k5Cj^HR0DFTEqI=3q)5z7`@(2tUj1Pv;G1X7N|IZ~v-lwYsvjhdN4X`8p!IB+LbH>eaB w((EO}#$DX+F5uOAf*u2ypwg7?5@m=&_ki8 z9=8zo;MM*ELBwm1{)YJnIeIPhq{N4whIj3XuZ{*j7>rX033-G1d7y5=F%>!%mw>4G)j zLaJWmg=`G?beCu=^gi~6Eb`UC*&gkZ?eP{iw5hlnGS?K@FX?jsAm)80MIDi7X2r(h zQf*{jx-{Ty2vV0fgyQ`n8((5K{YjS7@5OHMjXROf8(-6NV{vsY(`MzzUi+P7Lbii_ z76e|zJI^|u_GTO&Zb-@fC}fe6JDulg(_C9>p`bzyY8VEgbc)pT-5@K)8*F7v`pIlf O{!7SX#EbOQoc#kS$Az8% delta 585 zcmY+9J#W)M7{_yWc3$k-4Q&b(8p2BpF#l1Nioe;Dl2OyWTp;u!2+=Q+aKbSp=Zi1gsK(HQxWh? zx=6CG#jfL%z2RRXQMp^DBl}9_kBG<%kSCfWyWPT zdd=U8B+Ap#qcq54o~UdT;Fcm*Jeb#)EKR0q{wC+D{9)|fy^ZZ{YEZ*42&FyZ5(`g{ m{U;Y`joi^pXt`@{54BeA6lGRRIHzsl$w>5n3ri}U}U84oS$3ZSX`W$ Ro|l`NS5h2oWIVCL5db(X6VCtu delta 77 zcmZ3@xRa5`iI#QhsS+X==&DEJpyY5gPme diff --git a/crimsonbouquet/content/models.py b/crimsonbouquet/content/models.py index b096caa..a7ca2c7 100755 --- a/crimsonbouquet/content/models.py +++ b/crimsonbouquet/content/models.py @@ -2,3 +2,48 @@ # Create your models here. +class Contributor(models.Model): + first_name = models.CharField(max_length = 100) + last_name = models.CharField(max_length = 100) + middle_name = models.CharField(max_length = 100) + + bio_text = models.CharField(blank = True, max_length = 500, null = True) + + TITLE_CHOICES = ( + ('cstaff', 'Crimson staff writer'), + ('contrib', 'Contributing writer'), + ('photog', 'Photographer'), + ('design', 'Designer'), + ('editor', 'Editor'), + ('opinion', 'Crimson opinion writer'), + ('opinion_contrib', 'Contributing opinion writer'), + ('sponsored_contrib', 'Sponsored Contributor'), + ) + + _title = models.CharField( + blank=True, null=True, max_length=70, choices=TITLE_CHOICES, + verbose_name='title' + ) + + @property + def title(self): + TITLE_CHOICES_MAP = dict(self.TITLE_CHOICES) + + if self._title: + return TITLE_CHOICES_MAP[self._title] + # generate default title + else: + return 'Contributor' + + def __str__(self): + return " ".join(filter(None, [self.first_name, self.middle_name, self.last_name])) + +class Article(models.Model): + title = models.CharField(max_length = 200) + contributors = models.ManyToManyField(Contributor, related_name = 'content') + text = models.TextField() + created_on = models.DateTimeField(auto_now_add=True) + slug = models.SlugField(max_length = 70) + + def __str__(self): + return self.title \ No newline at end of file diff --git a/crimsonbouquet/content/urls.py b/crimsonbouquet/content/urls.py new file mode 100644 index 0000000..3ef24d9 --- /dev/null +++ b/crimsonbouquet/content/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from . import views + +urlpatterns = [ + path('', views.index, name='index'), +] \ No newline at end of file diff --git a/crimsonbouquet/content/views.py b/crimsonbouquet/content/views.py index 42ea46a..327fea6 100755 --- a/crimsonbouquet/content/views.py +++ b/crimsonbouquet/content/views.py @@ -1,3 +1,5 @@ from django.http import HttpResponse # Create your views here. +def index(request): + return HttpResponse("Hello lah.") \ No newline at end of file diff --git a/crimsonbouquet/crimsonbouquet/__pycache__/__init__.cpython-37.pyc b/crimsonbouquet/crimsonbouquet/__pycache__/__init__.cpython-37.pyc old mode 100755 new mode 100644 index a2fddf0840df43d6239e4af23208befbbefa7c89..a6e46ac91b1e9a29374c4b29aff2a0a3ea0ea480 GIT binary patch delta 66 zcmdnWxSWy4iIcA6lGRRIHzsl$w>5n3ri}U}U84oS$3ZSX`W$ Uo|l`NS5h2oWIQobe&TdF0CNfy*Z=?k delta 65 zcmZ3^xRsH|iITFu$ScWsZld~WjwtaIreFq5&CN`VC5)3NF)f#tO3u$K zNzE(KODrfT)^mn%fK*y$`eqAe6&9W<4*lYi#FETpeNBnY?d;5q4!5|1LmWdqo#R7; zd{#0P$pdWx6TbrVLyJ?3iuJRSQnRuW^D>PLjEwZ1^K%Ovi;FYU^KyaK6bBm_PkzK< N$rv_ShBJbZ698VpG-Ch& delta 236 zcmdlc^j(P8iIVffUV5#whU=ttg2UreFq5?Tx=m7^S6> z^Ycnl^Gfs*3kr($oFN<_m6n-4IhSe0WjMUsjJqT6B zp?(p;cRiuIF$s3Uw)P!|g$52FAh4-*eF49Bvr+cUX)mnQJAA2qRAKq;ba!(_-XP@PGD~IU{5TL zFUw3Vzr|fzlv9vcQj%JfSGD=9TAD={zA$iT=*-#I_Gz_GYE XGd(XiHLs*N*vNP?8pY;ys6 z3DB9@UG8%EkfL7DSpE|5YIo*0zxmE*W@mRECU0E3WVCc;wcc3QT1rM36GTyXkD>^I zkf8rg(tq}6iJk=P3;I`doew%q2xrP-kQtM=nT<@|jvk4;6*&?4lkk_M?}mRX^k#4^ z@Js%G_x-?kMf_#q3xgc(G`#)neo20HPHZ=gT19_N+icxdH=BAxU2D`gH=5?TQ86!7 zdQ!+{a>;VCtZvqfyI%8&^Vf@uD@Enz^3t`NMP+IE`Qpn;+-tRs)3|bFxi?Wj&A z<@Xp3@aPiXlY|waO9vG{J0{7mQ1O?Ci8nn_-KA7ISuU*>`s*Iwk?tO6+ex+)P_=i+ zh}`xU#I0jHlG{~SHCe7?(z#O7X*oTF#s;^a9$TkL4#{T6Wur~1%MC5;@ffX|*{-T_ znUw3bmR@VAtp^)AYf|aeY<^zPmUz`TcBD_8II-#=FD~7VHETbf1XSjYs3bp_6}N~} zB~Fr_49fM2UenffHJQ>%nS4%jYQsqt8(a;J(GFejxFoa&Y;p0#*2|-kytpVne7dET zs^)#l?|y!8L^Peg#Tyf~3bC^I+@+$sKk*teth6Ih3|gUUdP7;hvZ5^CymU#qdVT5g z;`Lj~3&mT?;?0#SOUu;d<>K-RmCBv;O?AEa-s1J*^7-NoSEg1T3FUbfd!0*KT3%XN zTD)}WmK9ihzNZoPYU=Usu-I81iLGQrlIP~chZ7#O{0?&gHLphpVKk$Etl*h_#LjAk z+wKtA>+cFn^3;_0!DHRXI*o7N07$!{v!OMc_v;PXBJXL9@@=hgDwSSHbebh?Bvq~1 zQmgefqZU^xT1#&k>$*GMXsXRk+AvrnjVq;kz3Pr-p{xsV{AZGmd+XUvb6GVSG@HSe zwveF~`nqORot*MHCnuVo32kYstGyy=j8<+L_ozy*epX`jPTi>K6j4v{6RCY6xi}>X zygO{(t1&Q+^6PyjCR!w zOfT=OvQ{f!h_V?l!p4+ny5{DI{N*9@;ES z;%2+x=Ogqjn*9^Djt3=qc2<1-=bZ956nUYX%TS+^IkE3R@p7)>(dzWR5)7}<${nq? zR_}UvTavbaICY-SPS2EdX-Tv%1|+$j5!)Z&H(Q^qRBdBJt!gE`s;<*Fk*b=XFI6&? zOo_jS^hpr3V0Mov`WO!PY`%r`Nyf_F(ZmK8To!$;TJuYCCL?Zb@*3}xvQJQ;yXN~? zyaTnLawDgL9rgWdrBkN<(TS_R5Nq1EcsZ^9vZ>$Q)N5tkbLsCYpC|GZy9ZCxl!^8& zQIgM|6}L1uyLDr&p|#jx%;Mq%_`3YYd*XLRjdF3GJLz2agQvT{@W#@lRio$WLi>S9 zB}$JIk;4M{9Qhcjkm=Z$W4{o4F8YJ$r=$0y+0n0!eq!{+(ecRVBX2~mQZsx&00ck) z1V8`;KmY_lV9ydrPXvWSGmF-EG?`4MRHJ6J46T|@rZaQN>|Am|NiCeqCC??3XEOOz zc0QHa9~6$vEH-s>on~;NY~fsX{!A*HN)`$i$AiM;ON(sWO*2WWTD3)2toW3yGijx+ zYpEqt zkhHXzQweO8v7L-$Y9W=q5Tj0RT27J$cY*j^-wqrl7t*PG?!8g!=!WfR!R^SN_S;5K za(+Ia$-OX2{k&rP$yx=yC^^XbBS z!qkUd*U7BgM~6*)qt(A4$!sccnomNxShn z6GVK*bvsY_Y%;TOF%%SLF4*@Q$H*vBzU%dS9lYiW6>CAgc&VmbE|V!N1%rZ2HC5J) z8g-Fjlgo5*tMP!>Gn@@uiT$pP}rp6%9AFc1I%5C8!X009sH0T2KI z5CDP4i+~*UXGD9m3H#eHN^~sW@J+=0vz-X7(K5gb_J#=$IYmniG%?1dbdM?Ttg$-_YT}Ovjin z>swP0>^v9^OiuD?1U5quhy^BPe#NH`{1bu6X@1$6FsS*)1M-nDpAxV)M6mt;BXn+q ze4YFQ`783L?HcZjJvB zN;K@473LcMPlN)(kwc#G|Dj+&n6Zt$K$x6lI|kVJKkBDfGP~mA|NTCCIn6Ge z@&C9O5ac6WCZD)t+( zH)6HePsJ|8(y^&nIQp&V-$(x}`UlaEM;}rL_<#TifB*=900@8p2!H?xfB*<|6WAXR zXT*_vhJIhQ287CifS3?R=(h*z?5jP^{pM3@=y*UpCXTT0DzMCs91Mta zqQu>~#*&Ah2#6_BvRt|%4w(^_TUW$WlL2v7l$dK*=#yM+h`YB&rcZETA1|4Tj_(;ncWf-bdI#Dp2)Qfo!*=W2ttS}Sy%1jH#Zz}>SE z@fa5nu>7(RVun}_Sx77v5RZrf=7|rY#{%NC=;toXUHF`U-}1qOB4&`~ga_^8Is2Ix zejVoeeB6yQ{H81a;#tvW`EtS~Gu(3Mgoij)AM@%22KNWTCq?erUc(O@2!v-v%dH*g z=Yf__JJ2^42+zL~FMB&FNemu&LN7zw1%#Vlo@hN_Mk{v@&@T1I+2l;W59fJq>ae^QB^W!)> z2FCc2@MDZ0qwMG(<;Ms=?&HTWJNicWQR2rCKL!K-uoz$mKRfvR{%{!U|9ic0qI@6# z0w4eaAOHd&00JNY0w4eaARq{?@Baf15C8!X009sH0T2KI5C8!X009sHfjvq9SPCQIaz978Y z10nK_&>QlVIkBBGY8Cx8ZL@V--E8U&b*)j~+-RETMn#?1Qfa-iQ1TiaIDfskxKdP> zmY*-S#}vust8z!Ht<_bnvToGWYJIKatDKw9>LqR7YjD`*>t!YGjqXVwSFSAgn#Gk< zab5zW5>K>GO-Zs!i+7C|ug7J%UTf*KmfCu-p{ul* z@%qmmmE^fO@k3`@TB)jg6?m_YSc+B_pSx7-Pk{nZ3|hW5y`d~$Sy7g6Ub>`Qy}opL z@%k<0h2kw`@#e~vrDf{qa&dX(v=Z0KEu&sjTgJK`S1MXdXJ?(H)SzCvqnBG0R9tE4 zueG>GC%B<+G~&uVtx>+MHBP0I$%H#C4Xmx{>bl-+YHQTL>A;djop^yb(wXe*#rGDk z7njc$Z*@3*Fv{i z)z;!lb6u-eDS2hH)-={?dZoibIe)Qu{sk(w%l;?ctt1nP_WNW>t}lx1yPjK-Yu?Zs z>qfIl>!+zY=d8`9R!gPaYP#GJZQdx3QS+(p);rj6fM>H64^GA?IoYx1k!U}=Uy@&? zH(t|I7*D^#FIg!H*-S23PL|cpnsL|3$~2#_3UG6I>Do=Rv!NY?*Q(P&^mpnlh3VSe zUC{PnC#5AgH!jI*1+lF;B`{;1qI#=hAzRLs3u&Dz>oMNnry6>UJXK(Obcydt(hvXa zm?XbK#a|vK-tK8hN?3L5g;c#0^{Wd*WB632wDo;&`A3WBLtOH};07wJqwC_)j z$nEf=xOLWPF&s)y?_;6zG}Kg9n=j30(w_U*oB9b$)}TAtYu~x2otuvLdG6d?4UH%F z`d~%oVYFkSw|JK)dY?}mkmPH$r^&a0zoz6kLiDxb?0a@lMLvGtC0u+Qzmvm4~V ztJkz+D)|}jKev`gB)L!!ALgCN79eM9;WA3Sw9k_QW zSS8u+hN17h2j%H$vHhwWXnWzHB$w$k_m-#fy=|z|4z)r~*D5L3i?G-9$wBSGYuMw{ z+c3Nd+zmO=9-DB#ZF^f~$N5g)+=o3(?et!8yfHMpCEX#k6Y&?stz!<(o~GyAQBEbY z`zu+lWYW1((&<5Zl8z1TJ$h_+l#Q!UJq}pW%)q|=#@5TDlDxPmK786~P`tvtwdT}} zHzwNWPVMW$YU924#s9}6t*h4hj4*nhYfb{I9NXQiSA8LQc2>N_!8Y$!jh3!9^}CyT zt*m=4{apw>k*8|fx_+9bOtf!_l6>~8xTSHQ)?jMgSZio($kXfz@OAmM$D&SxUDb%T zvEdpY<#Ju)Bc^q5EKOQ9bUNo=c^M*`KiHS=jyoItw|> zw4ZBp{%%+*Hc{hfqH9f&r|BH!WKrC@@Iw{GRY*2jNp~+)a(YGQla<5rpRo$qz2Gq{ zg}a=?a{ZypPUqRX{n5n_|2av%Fe|pF`@(2eH`mlkGM!m1FC;yhj}Nc8uB3gXvYKI5 zv`(r8NiG(}hd;?@=R6s8wXb1u$GYe2hMDee`p#B-s3Y@1on-rCt& zCM+}S?%P>LiT3(}#O7CDAMc0TD}E@{U2$v~t*U#f)3Z^8Z4BwNJ*1)24Jj41Uh6Xl zO4;$2)Y*KJckMk%Y@N7M_$%G7P^Svc>GWU6cuuj&t+`TDG@!MXQXv6g9( zqsX-0cI_@>pUM4HCL|Z929?@bT1s_JM_zwdS{k}FKLE_dB5JEU83E{ zQt5@Rg$>@E>Ha^X>&`VBq0v;En{<7Mt$M|kQoUa7Y?Y$qSg5Co=iHplXDT)9cgMIb zsfoU>8C6GQI+yJd$%M4D)zw}RG=^=~x<`8~uReYg+@US7@4^htwC~;S7M94QLh^;_ zq4jI7L7ElJ&!^hsNr|szuk+T-E0D)HXQWRZbCX?F^7fUGXdgdGcO20-3D=GzXW@@O z!`&M#)2rG1yq-0e(H*;(CEI!(V?pM6sx!!R}XzQ}Y(HE$h8U93nC^`+o(dSWe zv`^D;jCa*OyqJf-xmaDQJCT*^PF|7B3UTga@6)rpt)|_ptcmu;<8+H!!azG&eOg>3IOiJV&8IAo*?2ls~i#1})u`{v#(QifnHu{Ir zH=--iW20}4esT2oM<0&9e{_B{6!~)GcOxH;yg#x)9pD23AOHd&00JNY0w4eak0^n- z5){OlxsiK@e&7B*GZT*;ON3nH%LZ&u}RLD~6 zva(p(b_Y#6OQp-sQfP%Jlhp3mY>26I88KznH zc7htGo({TTy38$!T?zJ^30yQ?30ySo91`O+!E7#Q<8)cuIBnCzW7Kr&WPmGYKXKZT z%q|o{V~@=SEU9+9rIB02Obbh!ZDEOGmrq5h#gUl+6Jtj+73}=zD21}Hq_l%HD7<}9IZJ4>cx>Eo7`NVlaWv11t*spZUBCeUrh2LwO>1V8`;KmY_l00ck)1V8`;K;RK25c5gGx-K!THPG~&kE#YWcCp)AY_982!H?xfB*=900@8p2!H?xfWSLR z!0?5HXP;ht_NCholv{e0{zreKsjO-1I{$z7ba1_{y{b2rM!luAjC!r9G;h}%ExnOW zrZaQN>|Am|NiCeq<<2FOXXdlHOd)yy_Jg?x%+s9FoO64+Erx{ism1db>-UvbT{%y^ z8BO+u6x9dHi!UlKY8(3dHk&PFO{f1hD@yLRu2nqwWX`2BXBIN)TrP9Fet)i2pQGPV z(Qz|(@7~-!>V}Q~{p3Fc@;~Ii=pTGQ00ck)1V8`;KmY_l00ck)1V8`;9&G|4e?SmL zpD*a6f5X0j7!bl?_W%EV0w4eaAOHd&00JNY0w4eaAOHd&@Z(D0i2qq} z;7$VHQUCeykoA8y{`Zsr6v*4;zv&-*KmY_l00ck)1V8`;KmY_l00ck)1Rik$Qb1(u z|Nc-w4AZ}XK-gUW_mgi4LFVB`P) E1=P4alK=n! literal 0 HcmV?d00001 From ecdb8c3b3397a2ee0c8242324751785206351d33 Mon Sep 17 00:00:00 2001 From: jbejjani2022 <51431082+jbejjani2022@users.noreply.github.com> Date: Sat, 15 Apr 2023 14:32:46 -0400 Subject: [PATCH 2/3] django portion done --- .../content/__pycache__/admin.cpython-37.pyc | Bin 201 -> 310 bytes .../content/__pycache__/urls.cpython-37.pyc | Bin 289 -> 418 bytes .../content/__pycache__/views.cpython-37.pyc | Bin 325 -> 872 bytes crimsonbouquet/content/admin.py | 4 ++++ crimsonbouquet/content/urls.py | 2 ++ crimsonbouquet/content/views.py | 13 ++++++++++++- crimsonbouquet/db.sqlite3 | Bin 159744 -> 159744 bytes 7 files changed, 18 insertions(+), 1 deletion(-) diff --git a/crimsonbouquet/content/__pycache__/admin.cpython-37.pyc b/crimsonbouquet/content/__pycache__/admin.cpython-37.pyc index af6ae3e3f822c2b48af6be1696c46918b3aac69f..e9b99ef5d29c8ab650ea35094290a4ee41a5c135 100644 GIT binary patch delta 231 zcmXwwJ&pn~429z)GqWr|;u_OXqpg;ur=emxz!3^eW+W$DbB4XaQXwwD9k@b7M}@>8 za3ru~`+I(V7dXrPPrv^uxUP>cJo3IJ@h-*i&F#lLP$1O8K?NXCqN=4+m2$e$APj7? z|J@1Kci~O*>li s1N$U75Odd}sXb{Hl%lA(whNP&r8Zu+6csYS*5 TSxKo`K&6=zpSiMr1{nhYP0}AS diff --git a/crimsonbouquet/content/__pycache__/urls.cpython-37.pyc b/crimsonbouquet/content/__pycache__/urls.cpython-37.pyc index da7b3d4c84859c1ab08b721b22ee1dde6e78d001..89466b39734f524c638075ac54105fd96a0d1f78 100644 GIT binary patch delta 232 zcmZ3;w1`>ViIDQvyW zKprQM$Cknc;-xc3v8QkcGidTmjM9m!l1$FeD=ErM(znUXE3txd;xkk1^lu5LWEL0X zBv!^lMN3Qai>gEti%K$+b5iwfigQZStw01&DL+gpRMtU>gmNAlp1<2%K;$a2=0O1s_ diff --git a/crimsonbouquet/content/__pycache__/views.cpython-37.pyc b/crimsonbouquet/content/__pycache__/views.cpython-37.pyc index 7d244b3d4411d3d76033707d7bc808275ba6a6de..b8b6e30af4aa6414eec30239a5245ba0c580b50d 100644 GIT binary patch literal 872 zcmbtSv69m;5S3&ncI<@94HOg?a20dIaD-t}rQn7FH<`rJBo4A=BpJ9&sE(Eo z;g{S}UBM4fv1>a+h8E52u68B8eY@IMqftO$z5n%`zh;E|MCZ7`Coe(F926&|;jZlGUgE*N$NS$%;&YGtU&hx!d)L}#sT2{dhjVMox5AXFFe1gvxX>cy z8Hn*gS)hDJAthVvgSn7WJ(a8NB%<1bQ^4`G_*e;Je-J%@$nQ7tJ0rA-cWbfRt%_`V zF`dRUm6zAXWSb%vg*7+RXK|{t+^Ax$DtK<=6j;Jh{3#Qk&7{1odl?k=1(O&gM5qoy zr_CNV4oDBAA^HS1mRNeAoPK9tnPrEjw+EKdI|s;z9#sx*_km?6u|ECDo$ZE5H zg!tI5Rr{Z930~(N>GvVmDSds0fibFoc%L14cL>PxFXwac7ExG_Ieh3wP0Utln^x8| z;7zOQey+HXrfnG}uEXy37UrxOmgWPS253Y);n1*Y8t7jEP9?<)97KbmF&opN<2%0l E2bTTDegFUf delta 169 zcmaFCc9e7;+h-7#SH-m{OQq7^0X`Sb`Ze zSzm$_Pu%Px%mk!08E>%{r52W^7MHAKC}Nq+#TXRK0u(O>Nir}Nu>naxP3BwNDOrhm p>G^sYB_#z#AUUv15lAT#!3yNw;;_lhPbtkwwPOVGz~=BU0|08aAj$v$ diff --git a/crimsonbouquet/content/admin.py b/crimsonbouquet/content/admin.py index ec50db8..8f000b1 100755 --- a/crimsonbouquet/content/admin.py +++ b/crimsonbouquet/content/admin.py @@ -2,3 +2,7 @@ # Register your models here. +from .models import Contributor, Article + +admin.site.register(Contributor) +admin.site.register(Article) \ No newline at end of file diff --git a/crimsonbouquet/content/urls.py b/crimsonbouquet/content/urls.py index 3ef24d9..80880b3 100644 --- a/crimsonbouquet/content/urls.py +++ b/crimsonbouquet/content/urls.py @@ -4,4 +4,6 @@ urlpatterns = [ path('', views.index, name='index'), + path('contrib//', views.display_contributor, name = "display_contributor"), + path('article//', views.display_article, name = "display_article") ] \ No newline at end of file diff --git a/crimsonbouquet/content/views.py b/crimsonbouquet/content/views.py index 327fea6..d340781 100755 --- a/crimsonbouquet/content/views.py +++ b/crimsonbouquet/content/views.py @@ -1,5 +1,16 @@ +from django.shortcuts import render, get_object_or_404 + +from .models import Contributor, Article from django.http import HttpResponse # Create your views here. def index(request): - return HttpResponse("Hello lah.") \ No newline at end of file + return HttpResponse("Hello lah.") + +def display_contributor(request, contrib_id): + contributor = get_object_or_404(Contributor, pk = contrib_id) + return render(request, "content/contributor.html", {"contributor": contributor}) + +def display_article(request, slug): + article = get_object_or_404(Article, slug = slug) + return render(request, "content/article.html", {"article": article}) \ No newline at end of file diff --git a/crimsonbouquet/db.sqlite3 b/crimsonbouquet/db.sqlite3 index b5dbc2b3788a88b77f86b43f0edc6d90d5b62d0a..896dbf36b763a469cfec3cef3868ac5da092dc58 100644 GIT binary patch delta 869 zcmaiyJ5SqC6vwYgN-3*zAn5BiGXVrW{x&m>_aj&sVBzBlJb>*V1`!uHoaN9d7lWdlt69)XWtg{A8T#o- zNaOaJY!j;mLFf4nt1YrL8|s+iwwa#XigGY4g=C?|?1u0>s{BHX(-soRxOWk%9M$30c!lwX zc;0F>JF-a8R4;FCi`mtsQZ7mt6sf)p2~#85f|%<{Mx&TjTX<`^N_3W}`F1Ab-;bwh z(-g#ne~~d$yy%Uy@mPMF#Fs)@D<{ViOeoVzgu=;WN77*>o{Usjt-uLNR*0ya5ZNl$ zO(Ns1>#10|7VYVzn&)D|YSb?TiKd||>7d${x_L?0mgdu4L-uN7yVMkmxkef1iYVDZJon`qONNTj{tTA#_Vv^etdx`MFa&L_B4&4$Zd}|lSAUa z-N$JL_p>mg_S}+ElMT0Kxg&C2DXOwj(TvLauID;bN}iy5*HhM%TFJ7*bx%rb)fCUh s-rmMQ-^UZg>9$+F0N90H_AB=2p@Tzj>;22*L*Lvu68Xf9_kE840(b@akpKVy delta 123 zcmZp8z}fJCbAmLZ=0q81M$L^0cKVDQljrMOGIDIbsjqFYndJey03-Wm!G`zz69ZTm z9T3=bfJK0VL4W}SxKPC(09F5ypLBqmRR$<24VIkzzn^tE%LPV-#Vid1TUnTF Date: Sat, 15 Apr 2023 14:56:20 -0400 Subject: [PATCH 3/3] graphql done --- .../content/__pycache__/schema.cpython-37.pyc | Bin 1950 -> 1936 bytes crimsonbouquet/content/schema.py | 32 ++++++++++++++++++ .../__pycache__/settings.cpython-37.pyc | Bin 2358 -> 2409 bytes .../__pycache__/urls.cpython-37.pyc | Bin 1126 -> 1180 bytes crimsonbouquet/crimsonbouquet/settings.py | 6 ++-- crimsonbouquet/crimsonbouquet/urls.py | 2 +- crimsonbouquet/db.sqlite3 | Bin 159744 -> 237568 bytes 7 files changed, 36 insertions(+), 4 deletions(-) mode change 100755 => 100644 crimsonbouquet/content/__pycache__/schema.cpython-37.pyc create mode 100644 crimsonbouquet/content/schema.py diff --git a/crimsonbouquet/content/__pycache__/schema.cpython-37.pyc b/crimsonbouquet/content/__pycache__/schema.cpython-37.pyc old mode 100755 new mode 100644 index ef248d32228e5f5c898ea5acfef2079d239ce9c8..283e75a3254ca2136eb597365acfbe5ee6ee2878 GIT binary patch delta 66 zcmbQoKY^deiIW3Dm78UDfrVffUV5#whU=ttg2UreFq5?Tx>p*tDbA zf}K5FeI2Vrlk@XRQu9jmijy-^a}%Ld6^DLtNn%N6vc9I|<^*TFu$ScWsZld~WjwtaIreFq5&CN`VQEWU_9Qws2i6xoI Z`kE4(+u4~JCr{z1WDJ|k#~H!M2>^!<5(fYP diff --git a/crimsonbouquet/crimsonbouquet/__pycache__/urls.cpython-37.pyc b/crimsonbouquet/crimsonbouquet/__pycache__/urls.cpython-37.pyc index e972e677739a36643d829c1ca0e64769d26de5a6..af6b4b59e6a71877b42c943701d6393c687bb66c 100644 GIT binary patch delta 167 zcmaFHF^5y#iI;=lk0kl_Ht#W@qzgXL0LQaDrDQ#rGEQn*sM zdl{PBLD_+S^#0Rvah;Q;Y<^&-SlZBCoQGk($iHDg7$N~VK@+WWr delta 113 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Ð5Kp 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 qY!+;I#6SH*Jd+4e@FPg@JO4+Z;A4J%R%S*