From 128878c69d94b16b3554f79098f92993728084aa Mon Sep 17 00:00:00 2001 From: emilekm2142 Date: Mon, 20 Jan 2020 14:59:40 +0100 Subject: [PATCH] aaa --- .idea/.gitignore | 3 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 7 ++ .idea/modules.xml | 8 ++ .idea/pracowniapp2.iml | 27 +++++ .idea/vcs.xml | 6 + db.sqlite3 | Bin 225280 -> 225280 bytes przyrost/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 146 bytes przyrost/__pycache__/admin.cpython-36.pyc | Bin 0 -> 507 bytes przyrost/__pycache__/apps.cpython-36.pyc | Bin 0 -> 366 bytes przyrost/__pycache__/models.cpython-36.pyc | Bin 0 -> 3046 bytes przyrost/__pycache__/urls.cpython-36.pyc | Bin 0 -> 434 bytes przyrost/__pycache__/views.cpython-36.pyc | Bin 0 -> 4900 bytes .../migrations/0006_auto_20200113_1529.py | 19 +++ .../__pycache__/0001_initial.cpython-36.pyc | Bin 0 -> 1359 bytes .../0002_auto_20191125_1029.cpython-36.pyc | Bin 0 -> 1102 bytes .../0003_auto_20191125_1043.cpython-36.pyc | Bin 0 -> 768 bytes .../0004_auto_20191125_1045.cpython-36.pyc | Bin 0 -> 645 bytes .../0005_auto_20191125_1050.cpython-36.pyc | Bin 0 -> 795 bytes .../0006_auto_20200113_1529.cpython-36.pyc | Bin 0 -> 715 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 157 bytes przyrost/models.py | 5 +- przyrost/urls.py | 4 + przyrost/views.py | 108 +++++++++++++++++- przyrost2/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 147 bytes przyrost2/__pycache__/settings.cpython-36.pyc | Bin 0 -> 2405 bytes przyrost2/__pycache__/urls.cpython-36.pyc | Bin 0 -> 973 bytes przyrost2/__pycache__/wsgi.cpython-36.pyc | Bin 0 -> 554 bytes przyrost2/settings.py | 3 + 29 files changed, 191 insertions(+), 5 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/pracowniapp2.iml create mode 100644 .idea/vcs.xml create mode 100644 przyrost/__pycache__/__init__.cpython-36.pyc create mode 100644 przyrost/__pycache__/admin.cpython-36.pyc create mode 100644 przyrost/__pycache__/apps.cpython-36.pyc create mode 100644 przyrost/__pycache__/models.cpython-36.pyc create mode 100644 przyrost/__pycache__/urls.cpython-36.pyc create mode 100644 przyrost/__pycache__/views.cpython-36.pyc create mode 100644 przyrost/migrations/0006_auto_20200113_1529.py create mode 100644 przyrost/migrations/__pycache__/0001_initial.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/0002_auto_20191125_1029.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/0003_auto_20191125_1043.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/0004_auto_20191125_1045.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/0005_auto_20191125_1050.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/0006_auto_20200113_1529.cpython-36.pyc create mode 100644 przyrost/migrations/__pycache__/__init__.cpython-36.pyc create mode 100644 przyrost2/__pycache__/__init__.cpython-36.pyc create mode 100644 przyrost2/__pycache__/settings.cpython-36.pyc create mode 100644 przyrost2/__pycache__/urls.cpython-36.pyc create mode 100644 przyrost2/__pycache__/wsgi.cpython-36.pyc diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..0e40fe8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ + +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3999087 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..51540e6 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/pracowniapp2.iml b/.idea/pracowniapp2.iml new file mode 100644 index 0000000..b84515a --- /dev/null +++ b/.idea/pracowniapp2.iml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 index 744b08dbfc2f4e8926432f5cbbf5d00e3fda60fe..d15337a7646a22679bd86255b9c08ae8fd3ddd73 100644 GIT binary patch delta 832 zcmZ`%&ubGw6rP#gO}a_z+gOrlMZ1QET1hrDyPIF@j~Xvtiq@m2B&NYuXj9T{X{BOX z@#Lj3(ghJ(dZ?{vv5go(5dQ!{3SJ5x3gSULqC( zvt{OpharUGc7*J}cHAz9G=U+dqqN#L51ii>tT?4GaRsX>sV<&7>le_`Q>o$NjfrAm z#H5tQ(%Dh7kXETmDPvliMb%_u6Q(T8G?_&WHEA$a(KH)o)qLBWaL5I50-xbMyn-=! z0Cyn{%Wx60)#EY-9x|w{obq*hTe%3{eJP#Gn)z#m;)Ec1xz46NcyuIRM6Et9Ebc+M z!r)+j$gGS-;#jP#L@s0hG<`uaPdSO}tvNIJE#~=;_@*ss0@r$T`1wNzh7AN8RZr<1 zbOy12{5WOiN5)OEr$v=jW-#4QRVBe_LXR$N%J*g*d>ujE&ie!&zz*d1ifAxvPcuJm zuD#(U`{r!~+cl3&zJkDWSR{)XBF}DN2fu@0r*ZHN4se_(x*8t9AF!F@kk~@bql1Vc zt9hOrbGWUh>(2FBXrA~8?_5Tcm6SAId%Zxu@Vq;MPL#_X+>|e8buW=wZc4gpJ$XdV z;4W)@h4?MJL{8U!E)k6o)Nd#Dxu(amPJcLz@3dQ)3=ZNBtMr&0w&pT;()ymmSG*xP zVB6bYD5eMc0`kC+?Loe1tuB%aHP2I0CzAc;-Eq=hbT#B`K|^?zf40+ZOO@8P+)~Xg zaX&5{5TFOa2Y3nhVHkR>8^t#NDm68tsuI`ZT9gI&|8g`<(Y0uj=>hKF r9GWz!uGp=ajIjXO$BF*-mBtJ`uILGs#u5R%kF?8Cbwy7m^qBSwdhXYq delta 513 zcmZp8z}xVEcY?H_Is*fPIS{J=F(VMyP1G@FRcFwXII%Hh0Y9@CSL$ST0o~1t3Wi*p zQ>Es!igEJ$G4j9Uzrw$pzl?tte>Z;u|4M$p&4L9+{95810;0_790f&Hl|}i*CGn-j zsYN2f%=!qCy0M*si- diff --git a/przyrost/__pycache__/__init__.cpython-36.pyc b/przyrost/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..750867596fb4feaeb2cc926c193a35e64b5bdafc GIT binary patch literal 146 zcmXr!<>mTPD;>uG1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFMIur{M=Oi)ZEOR zRDGA!;_QF<$}cX_kB`sH%PfhH*DI*J#bJ}1pHiBW LY6mj77>F4FxAG+O literal 0 HcmV?d00001 diff --git a/przyrost/__pycache__/admin.cpython-36.pyc b/przyrost/__pycache__/admin.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..20dea810f09502e61ece99a089fc447b4be85446 GIT binary patch literal 507 zcmZ8eu};G<5Vg~^bD`_0`TTs|>3H9-$9ErukWchKYatqbxeD-)=Q~Ic5>RQ85Tu3&mfA77e$#A>(pXDik{Xy-F4oHVn|elpFyyc z83d3eDFl~LK5AJ6h2jhOoG1K%isB5DmyMF84yrx-#YVZvQ@5Kr7?@M#(_T01iWSde z*UjK^SF6Uf(B z$c9HOG|jQhGRU=QjAj0i#KxOg)=G$KkHaH($bO+=gPkT9R@2hT;8UM6=Y;+ODyfE& literal 0 HcmV?d00001 diff --git a/przyrost/__pycache__/apps.cpython-36.pyc b/przyrost/__pycache__/apps.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f93be72d7dbb75fcfee77e032a2cef152e2927c8 GIT binary patch literal 366 zcmYLFze@u#6n?p!aILMlySU!cfR2h(6x@o?EkZ+RVm-ZFV$vcNob;dZU&`v_?&Rdl zU27k_FW<}eekG^FVgKjtXm$qxU+DjqBO9ZKV*~|?)L;lF1a3fOihh8in!HnX4g7AEv;kD%ej4ND!F6M zonX*SXVSSaa%)eqP5Ob5Arz#IC%EUndX&w=j#8daTC41)cC3d&EY7=CFVfrFJ_Gs( DD;-#s literal 0 HcmV?d00001 diff --git a/przyrost/__pycache__/models.cpython-36.pyc b/przyrost/__pycache__/models.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6847d97229db9b18a79c817fb4d4f736aa508f1c GIT binary patch literal 3046 zcmbtW%Wm676y=ZRYAZI<2j2l^L9KV!CC`4_tCxkEh-WmO3?ymRJ~Jag}v%eh;x2Y>&5``58+82=b6 zKO6QDTJaY;Zg7?wBNj16wwaodiK~@bBRjG+W~a506FJQI(cm@iyfL^V*wCF?kq5-( z9uRMa_&|If010MD0A!1YK*AZa1*Fa!KpHb71hUPWK$J#XzyQP6-JvWXOwf17G0QLIT(qHJQJ|}CrN*hC1oyq)fe-WM%#g9m>wEpZ#3H+daeX(;;%LOowM$uQ4i$WxS} z$H0t!bR`*f&5Rh-p8QI6#{?|OpRd;%~{Et{0Kg6_Zmg{F;HcpLQq^l;S-Ek2x`si<2^pHC!hE#-k&OfQ8X+XS#g`50Fvc4aMk87?Ud&L6s)F)Q#H(^v6ib-P;-I!4C)wmAr(Qeg${=qL9|!>Ih=O8qchssj zNStJOHW=xWtb#|m6oY>Dlc>s|ayt*6b{-r*R9+96p(?M!qD;y`ZzQk-xumSi!? z-eV22Qhr6lO_hp-MfI&9!(&ui1N2Q6TA>|UCevYFlh>khQQ|gLE}?4{L}o_5{`6TY zc&Zsv6j5ULabvd~Yzn6Q8gr3{&qAz2`3;6uroV*+8KE3(T*!BrzKu33xgL{*tP!W3 zenc)GqT4_m`y;~Mpo*sa$08d)MC2x2?2b*}0wSvHbdbG>puf$e?!kwmv?N8y8Y!xC zN901HSS2NDsM2#fHqm((le@T6(t}k^5aW&UxsUnJ(exHYbZERrgj9b-4#()$iRdE+ zrIQkC3r~+tedw?wAESWITR4Dh!PcKBopu*m%||0}n&QTrN(Naa!UOF-}vt z3vBiYZZ|eYdtC?ed)!d%rT569?{c&|&ZOuMsAAFqM1M-OoFtusHU{Mg6JMeg^sy$@ z@6p+U(6!Jk6n|YfqB?!)(9D$Xbn@(U(4VjP9R~@$97=&CSw}98LzLl-Bs=gpM4M-h z#_gu^`7p`)`2l}kolSJf4rk!F9HfP`;Hma!P!DzFU|9fZO{(^oYLGrmRnep>pf`@z llNN~%hoqNoVyC=&)p_wg?Jh0iP*;(VwJiMiTeiN|{sW1lcIE&8 literal 0 HcmV?d00001 diff --git a/przyrost/__pycache__/urls.cpython-36.pyc b/przyrost/__pycache__/urls.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..169b943ddb166b5841861f90029fee09a39336be GIT binary patch literal 434 zcmYk2O-{ow5QXjhG(Sx%4!{MvX(U*J5E3ldfRNZ_0kS$nn-bfRol?pj5a-}Z-m>Zu zV8vJsP+NYQZ^n9l^6_Ytf4v{x-*Co0+1|>iKBr?JNq_-wnB*1b3<3z7K!#Pw8FGj) zTt*PX;4LIdh+;^3N{I%L_LLDNkoA-krI34?$5jTyJ2ok{^cI_N7qy~WY$=k5__@Zl zb#~aoVFX6o=Od?2G9Hl*n*@8ig3(#`v-R1c=P}O literal 0 HcmV?d00001 diff --git a/przyrost/__pycache__/views.cpython-36.pyc b/przyrost/__pycache__/views.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed46cecbd413edb6e1441e0d7cabf531a37b7002 GIT binary patch literal 4900 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 literal 0 HcmV?d00001 diff --git a/przyrost/migrations/__pycache__/0002_auto_20191125_1029.cpython-36.pyc b/przyrost/migrations/__pycache__/0002_auto_20191125_1029.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4139694bb0ed04d3874af008d123dc5e68cd9eb2 GIT binary patch literal 1102 zcmZuxO>fgc5VhAIv7Mw%ODU8h&IE~kRU9fI)F^EcLhS*{fgG^h%p`Scd(GM{Boe1` z%@5%(@Kg56i907w%-T)c1GaYjcDysQ?|Ifc^}6@x+xDj&OVfU7cP^9g9*wL;1~kwk zE!Ky6%!W)?a~2sx^R)&BnBO%pQJ-2@#?S)xUTa#vDMo8D>BZqh1bN7lOxiIAjI!gA zdbhl41omiTKgpmr)Il3E*q-P^1I?+WvZFn%fJL_r6>t{jn1M?^=Sm~wEz!h)>Vi>> z3pJ?2N`XDXtF)pD4Om;~u)Zj>-urLX4O&^l`gCP#Pgkc6xDT5PHf9rco!Ns2@UY0X zwahlLhHLPM7(bTo(UPikQZb(ip5?OE>2$h&n1p#4M6?8xi-RN=Gs!|YIh5?pe$$k- z;3DV#NMMj7$Z9IWI1n@c9B0zaP*7wzM_Ic>amq9FlORTEMqzR;jUdWNWwUVE;}9dr zq?xM9HYGjdqWA_%_aaO*NM%_mUuE<9a-XdaRHvy+mh+||HfT|~(kfC)d%%-%IFXf{ zr;5UzKsBWrE>CS9?L^xqHq`v=nFDPDK>4^2E* zT$K6yv3AWmI(<>!=rnc759pfL6vpm%R literal 0 HcmV?d00001 diff --git a/przyrost/migrations/__pycache__/0003_auto_20191125_1043.cpython-36.pyc b/przyrost/migrations/__pycache__/0003_auto_20191125_1043.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fdce6ec34004a329d82979159f2d86f89c2010c2 GIT binary patch literal 768 zcmZWnJ8#rL5MHm}zB?3A5Fy|PxbeM65ecE35{?3qf`|eaSkBGlVq<&F+81<@sG!Xc z;V*4VMNdV=tj%#qtTdm#-FeUKd^8Gvetz`6;Ea7|{~U|>2}u(X00X07r4bt?kGY}m zyf982IQY%)EbPG?8SbTT_uR;|@8X|9EAx~g@hNtKqUERE;4qg|Nj zZG$p2l?!;4Zi-gJ@I419@7lh2n6jyslK*hjLFB7pIG}7b*}n{@KwtCLim%H2iuuz7{2pvCIk_pJDT% z74^85=}LU6vUJbtdPbLi$m9LK$29Kwf8%~SkLs<|f6FCl?h|;XV_60_9IlZY4~$M9 xI?C@0kKnRvxbN)Y-^Zx`P|>a>c}USZ-+dQ7dqN83J?lsNTo0(xB^(%@`5VfQ)BOMd literal 0 HcmV?d00001 diff --git a/przyrost/migrations/__pycache__/0004_auto_20191125_1045.cpython-36.pyc b/przyrost/migrations/__pycache__/0004_auto_20191125_1045.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..691e7937dbf02e3a7bbfb34f3ea09dbf6b333018 GIT binary patch literal 645 zcmZWnJ&)5s5Zw>kaePEv0~GW~Zel07lR!e~PC`)K6?_!9U}Z8x&cXJY-Goz4qJlO* zguk>c6(tfC6|)XekXUJ--uhW@X5Q{>G)jJbzW??oXY4!sX9dL1Xxj$_z<}4R;RSC* zAvk-^K!E(pKq6ntFS3vjyku$kgZ^cya7j}wOu4FbYhBc6z}n8ev|j@vXSD4@0%QdT zRtQKIypR|yLm)c{w}N=&IS!UFL@?NLh_`YfiXjZC+>skz?CZF=GdCNf?aJND^L(bt z^-8O0K6x~mOi$G$Kbg6p^YVa{D{XAwrf*HPWrHs8cr)6&j9*(cDR*L}Q)!0Orb!4~ z_`bp#E>mGb|1Ba&6Bn!AL@AdjMf0v}Bz{Y&kL$Ab#{LA@VGG#KE3`&}6oGk1J-55M1JSGvIro2tg_DcTP!-DRCA=lZ&> z$^+}VDIInhWrzF8D6NzK(>fh@8{^-ApU@r?#4-v3E_ft73f`-iY2b#iEZc=1!@GW} azWrW2G`VAU$;HKwclkW=Q(7OxvHSz02C4c0 literal 0 HcmV?d00001 diff --git a/przyrost/migrations/__pycache__/0005_auto_20191125_1050.cpython-36.pyc b/przyrost/migrations/__pycache__/0005_auto_20191125_1050.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e9a121a582bec6f7180556c5c2552ff63ca078e5 GIT binary patch literal 795 zcmZ`%&2G~`5MJAB$8i&>LaKTIB(Ax{PG}BDs47xbPV_=A_`u3!roqPcy1O=2Dsh5q zAAm>TmG;VsJ10)eI*Ecn>}p2e?ELI}v-@;Bj(&c6`1Y&E*mw5F;)Ksg^pq4Za7tD= zsZ+VB>sZ?@y_COX-~s=_fTL6RpS{!v_cfdNKPZPyToYCKN@Z;>Yi)u`0+#x6X??pj zBydKe3sT5Z2UzODXyv3H^1`>(F(?M$LjZ$&7eW}`^WGEv*K@G*U|0-`s5sbXuDo;v z0d+Vw!&kf3OxUQqwUW9u$4Qc$h^%X+m?yJmv)OzhX35FIgv+eOl~ijJEfo?5k+oNs zL~+zd*YZ|m0A>Jqopoh}87Hm6`E5wS1LV z*q@mIimYBq<9BUdY7@5Pxsx>-k9e3!Hn@GXZ%jS1%~f1?LZA3X`o uaKmB>?|RNX)AVS2*fX2%h^b?$+vn~1Y|vwJnDF^#vZr=f+BS3Ogx+s=AJ{wq literal 0 HcmV?d00001 diff --git a/przyrost/migrations/__pycache__/0006_auto_20200113_1529.cpython-36.pyc b/przyrost/migrations/__pycache__/0006_auto_20200113_1529.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0b084212e930447bb15a0f56ecf81f69dab0f1d2 GIT binary patch literal 715 zcmYjPy>8S%5MHnUot#7kLgWS9_~)WS3W`up386rw2^6?s<=jp#Hfyh0`-Cnnl;lBp z3|?bfDoR=^W^InJ){f?X=KH*dvsv{0>%se979l^#f5$=n1aF_9;DlR(G*)3Xw4j!; zsjv&@CE+%Az7Xz!RlA?|4wRI=^0*GLYczgU^r?u4kE;O(EG z08&_-6qHA6tFXbTUDF-B+UG9!AgIIItD}04`#iXFcz9=H-adD6;+_s)??&mMQ@2|s z`$0d-vTVW1%^=x4%a8JWzF>K_$h5zbO#|(qJq+GRb@AqQwyR3s_Ml=%`y8&zjTp4k zZiLXGY#9Q80W=+CY$G@Wh_z({m|~=RU4h^+RW71Y9*TIT12(2GrX$9%WFr9eea1d+ zN@2>3#i4_iL%XV=R}>3%v=jrVbJI}SqvKpEsMhT(*lLg0WxJM|@+%#TOCiPDKV4p) zF3(=*NOtg-_HRTzG0Pb7`(1h?8%Uw41f*xse;8z!cB)*-Pi^pCmx?0VtOmTPD;>uG1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFE9O!{M=Oi)ZEOR zRDGA!;_QF<$}cX_&&^CPN-W9D&nwoCkI&4@EQycT WE2zB1VUwGmQks)$2eP9Wh#3Hr^C@Zo literal 0 HcmV?d00001 diff --git a/przyrost/models.py b/przyrost/models.py index cf7209f..0402e17 100644 --- a/przyrost/models.py +++ b/przyrost/models.py @@ -12,6 +12,7 @@ class Post(models.Model): text = models.TextField() created_at = models.DateTimeField(auto_now_add=True) authors=models.ManyToManyField(User) + author_anonim_name = models.TextField() category = models.ForeignKey(Category, on_delete=models.CASCADE) @staticmethod def getPostsOfAuthor(author): @@ -25,7 +26,7 @@ class Post(models.Model): return Post.objects.filter(created_at__day=datetime.datetime.now().date().day) @staticmethod def getPage(page:int): - a = Post.objects.all() + a = Post.objects.all().order_by('created_at') paginator = Paginator(a,5) return paginator.get_page(page) class StaticPage(models.Model): @@ -40,7 +41,7 @@ class Menu(models.Model): class Comment(models.Model): post = models.ForeignKey(Post,on_delete=models.CASCADE) - author=models.ForeignKey(User,on_delete=models.CASCADE) + author=models.ForeignKey(User,on_delete=models.CASCADE, default=None, null=True) unregistered_author = models.CharField(max_length=20) text = models.TextField() class Config(models.Model): diff --git a/przyrost/urls.py b/przyrost/urls.py index 3ef24d9..7e1bb81 100644 --- a/przyrost/urls.py +++ b/przyrost/urls.py @@ -4,4 +4,8 @@ from . import views urlpatterns = [ path('', views.index, name='index'), + path('post', views.Post_Handler, name="post"), + path('category', views.Category_Handler, name="category"), + path('comment', views.Comments_Handler, name="comment"), + path('menu', views.Menu_Handler, name="menu") ] \ No newline at end of file diff --git a/przyrost/views.py b/przyrost/views.py index 363c279..6686d95 100644 --- a/przyrost/views.py +++ b/przyrost/views.py @@ -2,7 +2,109 @@ from django.shortcuts import render # Create your views here. from django.http import HttpResponse - - +from django.views.decorators.http import require_http_methods +from przyrost.models import * +from django.http import JsonResponse +from django.core import serializers +import json +from django.views.decorators.csrf import csrf_exempt def index(request): - return HttpResponse("Hello, world. You're at the polls index.") \ No newline at end of file + return "joy" + +@csrf_exempt +@require_http_methods(["POST", "GET", "DELETE"]) +def Category_Handler(request): + def Category_POST(): + """Expects {"name":"name"}""" + req = json.loads(request.body) + i = Category.objects.create(name=req['name']) + i.save() + return JsonResponse(serializers.serialize("python", [i]), safe=False) + def Category_GET(): + all = Category.objects.all() + s = serializers.serialize("json", all) + return JsonResponse(s,safe=False) + def Category_DELETE(): + req = json.loads(request.body) + Category.objects.get(id=req['id']).delete(); + return JsonResponse({"status": "ok"}) + return {"GET":Category_GET, "POST":Category_POST, "DELETE":Category_DELETE}[request.method]() + +@csrf_exempt +@require_http_methods(["POST", "GET", "DELETE"]) +def Post_Handler(request): + def Post_POST(): + """Expects {"text":"tesxt", "category":category_id}""" + req = json.loads(request.body) + category = Category.objects.get(pk=int(req['category'])) + p = Post.objects.create( + created_at=timezone.datetime.now(), + category=category, + text=req['text'] + ) + p.save() + return JsonResponse(serializers.serialize("python", [p]), safe=False) + def Post_GET(): + page = request.GET.get('page',0) + posts = Post.getPage(page) + res = serializers.serialize('python',posts) + return JsonResponse(res, safe=False) + def Post_DELETE(): + id = request.GET.get("id", None) + if id: + o:Post=Post.objects.filter(lambda d: d.id == id)[0] + o.delete() + + return {"GET":Post_GET, "POST":Post_POST, "DELETE":Post_DELETE}[request.method]() + +@csrf_exempt +@require_http_methods(["POST", "GET", "DELETE"]) +def Comments_Handler(request): + def Comments_POST(): + """Expects {"text":"text", "author_id"=12, "unregistered_author"="mamam", "post_id"=12 }""" + req = json.loads(request.body) + post = Post.objects.get(pk=int(req['post_id'])) + # author = User.objects.get(pk=int(req['author_id'])) + p = Comment.objects.create( + post =post, + unregistered_author=req['unregistered_author'], + text=req['text'] + ) + p.save() + ser = serializers.serialize("python" , [p]) + return JsonResponse(ser, safe=False) + def Comments_GET(): + entry = Post.objects.get(pk=request.GET.get('post',0)) + comments = Comment.objects.get(post=entry) + return JsonResponse(serializers.serialize("python", comments ), safe=False) + def Comments_DELETE(): + pass + + return {"GET":Comments_GET, "POST":Comments_POST, "DELETE":Comments_DELETE}[request.method]() + +@csrf_exempt +@require_http_methods(["POST", "GET", "DELETE"]) +def Menu_Handler(request): + def Menu_POST(): + """Expects {"text":"text", "link":"link"}""" + req = json.loads(request.body) + # author = User.objects.get(pk=int(req['author_id'])) + p = MenuEntry.objects.create( + link = req['link'], + alt=req['text'] + ) + p.save() + ser = serializers.serialize("python" , [p]) + return JsonResponse(ser, safe=False) + def Menu_GET(): + menu = MenuEntry.objects.all() + return JsonResponse(serializers.serialize("python", menu ), safe=False) + def Menu_DELETE(): + req = json.loads(request.body) + MenuEntry.objects.get(id=req['id']).delete() + return JsonResponse({"status":"ok"}) + + return {"GET":Menu_GET, "POST":Menu_POST, "DELETE":Menu_DELETE}[request.method]() + + + diff --git a/przyrost2/__pycache__/__init__.cpython-36.pyc b/przyrost2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..59b751582d2793591245d67011d37a2860dd2f9f GIT binary patch literal 147 zcmXr!<>mTPD;>uG1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnF9-dM{M=Oi)ZEOR zRDGA!;_QF<$}cW4(vOeN%*!l^kJl@xyv1RYo1ape MlWGStxfqBU0NSl3CIA2c literal 0 HcmV?d00001 diff --git a/przyrost2/__pycache__/settings.cpython-36.pyc b/przyrost2/__pycache__/settings.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e79b17b122d6dabfcdfa9b5973eb1f5dbda76fba GIT binary patch literal 2405 zcmb7F$#UC95G6r~q^QN4ygLaTMX}`tu&6|KQn4eLgk+Yv6+v1F4naZaAvqEO(3qhW z;p%(7z(0`R$RQtrQ>t>xFXZF~NJ=QmRZ%d+u&1Z{bx$vt&84NnAHPYz{JEG){hdlY zd8D`TWq;uWDI*1G5C&-@P0|O#K_)SaWbS=B8b%f}Mh-+H-%A7vU0IhAXgwyal*wEW))IZ;52#`g@_51`%$+O}GWO;Z9GaY544e*h?GB z@VRjTz5wY&`tExHzWgB2v~dwu;VYC}g|&G8I-c**bWb!c!F}U0tQ%L*w-tP^!UN+P zJT$H&eFFqNwf@MG)2URUd|h_q_^?YgQ2gkn0co8Y@fY@9v6n2SAe2Wv1 z_K&4|5NkcQz@e_hxaISSVfS!3UL(#RJb>!HdCf9D`R-xCsKDb7)S%kxa4(Dk7T)k zh6wegch+D;*#EKRlWxM$KUf&4dQj}rcinG;jV=1!8hN(iY~Jl}J?%YN2YR#y+sDsW zi>!Fq?LMRCb84@?-GaOC+QG{BJhJV%+^73;9J}DkEO*5F!R;Alq(WTIkB5W>*Jm~v zVGN^rcEiC9tA`r5W;Hm*-;Scrf;-b(%hqtnt~H%fjFLv-b8=@ zAM`VTKEoW4t~DC) zlZJu)(@?Uv1Io!}P(bE{UKhfwR^P4EwNR|9HO-GMkl@vf>v0hcEyj*KA58oLQHagS z9Y%bWN3j@jqEm+stf)!ej3qojcyV5&8g;2Na;n7b@&2j)kLT4N_e^u*<0-)Qc>(Gp zhxpV!i!evr$0KHBI_=UAhM)Q_7JQhq_F2ry zn`ZQtGEF1@Qq{F6m0>~GN-eEzzSe#Y=gQj4&ThD*R;!IYt!%z(=xse*uGIB5vXFuK z*TX`sQZ84uJ+-BUi>*eZZFXAKQlq{TiU%Hb!}+#WYgW~^riT~z^xaCNRjriNs9?hR zvf5T7<9c{Q?X+K+O;y+T8m+SVMy*zGvw?NCR8{M{9d%bTOO3LIfR&nN8V#(AdUqcFdC2-3kb>#oJ1j?xsww!q9A64 nbaG_HA;IZj~jvKqJOZ<@SFtie@eht5r zEi3k{SYfBBh>(!RQmh;6`rLEQy?!zp#lOBi`1G&?zz@(`T^B!hpYa<3b3g(T76A|E zVc_FV(c#fN;@x>S0JKXY8g6^r{vmX6mqw&_2oB*ooDWF8m<(P@4Y|}5GO?1H z*AP$@6dMW+rL!2iwXs&28A3$nCL>!c)>3J?rMb;=$q^N3noW_Fisc6RWaP>l6u

k(^GTz??o!e4M25MS+cZv~MiDb1=CpxbkR?YsFY z(|;IUiM%KY6KiKeUC&F)T{BPqT-C-vN5!?r=hATsSB;gkqg}^#WZv)-$tHJFn{sQm z%R;V^Gw@U?@dq_-lBV%bH@qMXsxBs+i8QSGO-W9-993XHIt^!i_icKo>Ms^< zau$pE-G;2wXf<2?=%G*Y+wXJan~NxC1w}8Z w`Rry8DUEY^BN+Z0DK&LJ&6}x*GgG^2aLy$u3;OJy!!iT6MZsBczjGG+0YFVK=>Px# literal 0 HcmV?d00001 diff --git a/przyrost2/__pycache__/wsgi.cpython-36.pyc b/przyrost2/__pycache__/wsgi.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f86bcb721a6410d7cdb1b9a13b3efdb98ce6ed2a GIT binary patch literal 554 zcmYjOJ&zMH5cPUxWnYh*=-Z|*`l{6VX z+?iiz$h!s(HLB%(@SlQp+%=-KE2G4J&$%83f4*cVEqCkKIol8XMF#=>*0gAc-lg~G EZxeH{DF6Tf literal 0 HcmV?d00001 diff --git a/przyrost2/settings.py b/przyrost2/settings.py index 69c294e..a70497a 100644 --- a/przyrost2/settings.py +++ b/przyrost2/settings.py @@ -38,9 +38,11 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'przyrost.apps.PrzyrostConfig', +'corsheaders' ] MIDDLEWARE = [ +'corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', @@ -121,3 +123,4 @@ USE_TZ = False # https://docs.djangoproject.com/en/2.2/howto/static-files/ STATIC_URL = '/static/' +CORS_ORIGIN_ALLOW_ALL = True \ No newline at end of file