From 490ea6ddedc66f3ecf048b1bf7ce99cb17cd789b Mon Sep 17 00:00:00 2001 From: Quantee-OH Date: Wed, 19 Oct 2022 19:53:34 +0900 Subject: [PATCH] pr --- toh/db.sqlite3 | Bin 159744 -> 163840 bytes toh/hero/__pycache__/__init__.cpython-39.pyc | Bin 158 -> 168 bytes toh/hero/__pycache__/admin.cpython-39.pyc | Bin 199 -> 279 bytes toh/hero/__pycache__/apps.cpython-39.pyc | Bin 431 -> 441 bytes toh/hero/__pycache__/models.cpython-39.pyc | Bin 1025 -> 1264 bytes toh/hero/__pycache__/urls.cpython-39.pyc | Bin 417 -> 489 bytes toh/hero/__pycache__/views.cpython-39.pyc | Bin 1960 -> 2381 bytes toh/hero/admin.py | 5 +++- .../__pycache__/0001_initial.cpython-39.pyc | Bin 661 -> 671 bytes .../__pycache__/0002_hero_age.cpython-39.pyc | Bin 578 -> 588 bytes .../__pycache__/0003_team.cpython-39.pyc | Bin 908 -> 918 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 169 -> 179 bytes toh/hero/tests.py | 23 ++++++++++++++++-- toh/hero/urls.py | 4 ++- toh/hero/views.py | 20 ++++++++++++--- toh/toh/__pycache__/__init__.cpython-39.pyc | Bin 157 -> 167 bytes toh/toh/__pycache__/settings.cpython-39.pyc | Bin 2304 -> 2340 bytes toh/toh/__pycache__/urls.cpython-39.pyc | Bin 980 -> 990 bytes toh/toh/__pycache__/wsgi.cpython-39.pyc | Bin 552 -> 562 bytes 19 files changed, 44 insertions(+), 8 deletions(-) diff --git a/toh/db.sqlite3 b/toh/db.sqlite3 index 69d2e6a8f182a347828cb69527f65fb15f607c9e..57765a890d5276e2b427aae2d8280cd15c68a07f 100644 GIT binary patch delta 2370 zcmai0TZ|i58J_Xj>z&Q+o()N}-9~gTtg1#^J9F_|j;lb&-it5s{l2JpXFOw%J+{Z5 z@jVo0gIcNN0m42kFF{Bk!~-Ca6f9B>x{N~NM?_55gL=faDj?WK7)$3h-b zC-1)Cb6mD!;~4)38XeI>zXy4fLgv*>5xptNdILQUU zdTHo}92|2z)YY1G(-gzM))ae+;V$Wo|8l3j9@fpXq?O-80-XY0`9FY@A*rJlDwNc% z>lGuD%8YtUps=aJXlYcYvW7O&w?g53Gdz|kZI1|0T-=vW3)h>iUS~HQh(-3EKs;rS z^^%O6ry%2DYNFED^;*9nD$UAkX0z)SOK#0L!#rKUcp1XYlMGA1Ig2kF_y+<$v8K;m zC#we^f-g9+3#gR>8;-5u)8O}R+Lz|-^J8T3cZ*+HIGG`ibQibqtrk&?%#I`HX>d6G5 zsggdRI|RjM!nEX)qPc#uKn+H@y_S;51qc2rjQ3Q{A8!Q8g3MRxV0+xuI@MIBI}FBi z-5gm843zC&sTbLa$(>?pf7>raxj-VH%_hx2c-KcJO{nA`w>OlBfd_ zL|y79n$4moB<&@W135`@k!ku#7eP%FMtZyy@Al9ho?;Ji%n>msaK)Ia~cW7 z4$F@k+K@1 zy4aM}N_W8cw8C!t)5%_X zyPPTwV(EObtmYFg{jo65z>u_?B^c;|wM1fdCxS{O%dXu{YDdnuvvRjrl7@o6HW8Fh?iY%1Dk#VdINBVjlBZ|XvtmBj zGWX4ByvNjb_;8G`(6vC>U*YSWQI_ddd%PaXmQ(F?)0N*Y3YA`NKW`fQ8P!P9m25^8 zV*VP*M#f^W5lSQqeppB=+jLM&7|A^?8Z7Ko!$c-l;{1M^_4l&mZeNe5OH`#e;Du7s zh-b|SiP2u&D^+2oQp~#cLsBtS+aJhft=!n&35NUW&M?CjSu)S;xiX<#ru1amNH4*7 z$>(V|1Fg(FDrh@sAmC5nyPyG1PtG5_4#t~U1btRz+9yuW5+XKndX_+JU&12zlf+$o z8go`7Sv#@+;osk;9ruvukO2ZRi|;RdvamIeopa5-g@26ydUnbAXXob3-)7?W-(z>N zb=%j_4^YB#t=_rAtXRuFShlA3m#K=RQ z>$6IAwGpy>3&S7dzF`a?lx)2eRZ&d1+1D%=F delta 432 zcmZo@;A(ilIYC-bpMilv9f)DTX`+rXt3HEXy!6JD1^mpST>B@p3utdvROsc}ykE+R zRg!-N11EnF1OH3@EBw3p%lNzbXYsG$&)^T*tY~1tKRHO>Lyd=vS)L=Yv?L?Gv^cd0 zXfg{gH?urrMru)hJcwWwXJ$5LoP3Z+n2kf2iCLFp@=bj;M$t_MEC!od9L+nn4B3tGlcTX^1kNH=UKxe%3U{cqB2XPv=RIEZK;fgjMG)p8F#W-8?cG{Yfj$J zEis)nol$=J-E>A{u0}y^c5y{T#>U*q2HcX1u_`dGBP)+C{2FL?7aO<7NZF(3sBGW>8BkT zCvP`MWNcz#_J<7F diff --git a/toh/hero/__pycache__/admin.cpython-39.pyc b/toh/hero/__pycache__/admin.cpython-39.pyc index 21290fdbbb40bc152808868f63bee604513c24b3..f4ff9998cdc897d23cb84f2d6d94f77b833d92ae 100644 GIT binary patch literal 279 zcmYjLu};G<5Vd2cicrgUkim5~7K9iP5-f-%o5`KpM2>Cw3>AL^BfpfDslUL4oi3bo z@ATfC?me^FT(Dd}yT?A2S;+qqncU^3s|>(^TQ>2Ia|RU%TTP-9oFO0OXN}^k=<=Dh z^(kMomd~|;X>ccgX7V1Re`;6VC5*=H{kHcm#o;wpc|Wfv4`?aMLL?0d=O*HQpoH<8 z#U{%O{66Rx!bo~Fc=TRVu$qn`ETF=*IzLwi-i_-KlyRUEQX-xFK_7Aky~NsvkGZ+Y Pu5T7^OGGNxYrYnLXvatf literal 199 zcmYe~<>g`kf`I96$@W0{F^Gc(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB(j9erR!OQL%njVrqGQ zzJ75*j(%}@K>?W1EiluC=+`YNEy*v+Ow7?Q$lYW~=ogn46o3ic0(0Gz gti-(ZeBH#9vc$aP)D+#sycFG%)Z&uj$u5l90LPyiE&u=k delta 72 zcmdnVyq=jmk(ZZ?0SE%7yKUs=V$`?S4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ WS&4b+`MM>gCHX~}i8+(~7_$NH@E0cl diff --git a/toh/hero/__pycache__/models.cpython-39.pyc b/toh/hero/__pycache__/models.cpython-39.pyc index f16f174518ae8f7ba42c3e40353e72c784426d88..45491af8b42f99d8d1372d50ef7c686f427565ad 100644 GIT binary patch delta 593 zcmZvZ&1w`u5XZZwvzwXSnKg+Yk?cl?1i=Z}hzALXgb+a@Vi3JZF3T|0hFxZ7LiZ$) zMKD3HMwdQ@+{CNCLSADY!INjbSTz#8Y(xFJx~it?KiwzpPcMjrpdo0jtv*k_jDus? z8lT=-QgTqo8rDC;u8Y&?eh|AJdf1@7fz4MU^2Zm^j0XBJf^r(woA@9t#y=j`uTbdM zGrIzd?e#7W;%qPP#&{TKiNbE2VYg7GF!nWc-nmq29D;z6zpZq>*6W!<_j(EUyenB1$}bCz+9@qa|+@f4m(<$HXdB(-!O4e3HswZX4r KrU*Zc#m!+0V9 delta 376 zcmeys*~r10$ji&c00gZo+>(VR@-{H)P3%+UOJPl6Yhj4uNMR3V(BznSRdX^QqZJz; zP~9)b$$pHoo@Tl!S&4b+`MM>gCHX~}i8=Zu`5F2dsYUtvx%nxnImLPfmABaAc8ow?F$<93VG?2o0FVeu!vFvP diff --git a/toh/hero/__pycache__/urls.cpython-39.pyc b/toh/hero/__pycache__/urls.cpython-39.pyc index 8958b25c1c9bcfe1f32a424a14e36321f373c348..3f2bd55e98b948c1207a2f935965f197cb6d1c7e 100644 GIT binary patch literal 489 zcmYjNJx{|h5ViBse6^u}qeJQusj4bg23Qah%7UVv+omK=WV;l)GPCg~_)A%t`WHHJ zmsSE>e!k~-zI%2t8pRC9>g#U##2Nb`@_&$egUeJ1z<^h*<~ipK9B?bAc5|0A$-$HE z*86ZU@-g!JXn@fG0ti1{JdcnC5MNk=EQH~OjgUo<5?c@Q7_J`JWPHSqY{EOQE$rrq z=7{*OrQDm29sH^^Rve;vsqCzTh3JBf)Xj4VbVU`lJPd5}B9-X;em^90WA%)bg~+2m zxlc<=wQ9s)owG!T_miYcU|XnlGu`RRXa`MbpTI-t{8E8@yVN2-ol}AiNe>7jN=oo1 zzQ9VY%s1012?VEG@o1zrVq3_4(+Ja6!tC3&hpfHM&W*DIUJJF9kQE9tD~&b6HXA|y e1(}+*?_D^r8`xEHLBC|i2tz(}V;=MLJWs!XFoSIX delta 232 zcmaFKypUNtk(ZZ?0SIcBx+QZmGB7*_agYHAkmCTv#UT^5b#+qMQrLT$QyEh@Qkk>Z zQaGVJE+CIRg&V|6XNlrS;R$BYC_g?kMU(LsOI~7b z>crQkjGU7d8D&hOIKfgmnZ+fym@-p}*nrj*u>*-)+@(c11&JjksYQ9kD;bKoK@uS1 um;K~gMp;2K-IT1vy!3qClG2j=qRhmc$y*r}1bBc7co=z@xfuCC@DBj^-8WPK diff --git a/toh/hero/__pycache__/views.cpython-39.pyc b/toh/hero/__pycache__/views.cpython-39.pyc index b0c2dbfe4cdfc7cab08856aed09233e797892c9f..cffb15a72958effebefc2b12f6830a2392618a6b 100644 GIT binary patch delta 1358 zcmZ8h&ub(_6t1eCneNQ5WG1>MF$*!UYA2a#7m*+gdvO;hC-h1`xy;tx1s%pMl{k7YU zTCF<6@Aoh7$3J?P?QMQ>xql1BZs>9b44l*pJ=B$SWn2&I=&M34ZH${?lQZdp3*H5L z%EK0{K>dP+ZD>Ff^(wTWjd~4MVGVUh)}RAj8`}lvA@kQSzdhO&MI$!)(NI2?<4In0 zWoD*Y4y`X%>MW59!FT7JTKwlD+rjZ34zr8m2|H!L&xC#{=ODoOf|lZl_r12bQe8;eHhG-jnpPM zjpVsfftjR%IiF0d=uHlLa2jPJ)r(*jWwC@_ltC}Y0w&1SNpK>y3TBBsH~qhn08t_yu&i5JRkq1M93m|Ph8#Ghcawe1 zz7fO$;tw0M#3cDJR?{rkD_HRJtq)|Hs)L<#rBirq=My#Eu`v>Md{MYY8k4Aus0o-} z!wgGDDb{gXRFe$k<2IVcL&12RH$@jaT>Qr0Sse3?J>8)=k-$=_-bDY)I1CZbxZcE+ zyN9o!tv68kqRgyh(O53$Zeaigy~y2KJP^;Tx`D36yH0SM4$bBu3ekV7sL%;46)Eb2 zG%tU3pL)uN>qWBf-BVYxWdYfD=EzLw_Mh+o~^W|2{1S;?<1{=y?H<9ZN-b5*I zbn&;1+T(3J0p0)pkBZCZLi$Ionz7H*U9$=i8o33BuZ{RCUcJjU1Z<0jFdG9LYcmgR_K*1jif%Hg&v824^i8z zR&tPJkJQ29huVJaZH)2P7k}37&FL-K4#MWCQCS~ktUzkp1-@^zQ={oW&b~5zgRE;L seVS6W|Lkb@w%d9G%%7(64!uo7mu`cvAF?}IdPbA3M>#3 z^ampI3rKVg9|1_L*v*lT3DWbXa_`=x`OX_*fTa9XZa1Xl>gLs&PtoJCle+zsSoI}#sk>q$7cSST)ca) zK@Z|lFKuL#EaihZX=Q1@)n`0y9S+!2(HuYLKG0Et&;c~U{X8|c)-c0M0HMx3IAmcI z51HycgEA5-09gO0wvvB0zM0Z^u-(qT7FxG(6-5tqsW)%R0*?NtiFDVKfylb)aJ*5= z@0e@1v1>?FbC{0(RebUZqGKX0k;U0WgjHz`S=LV}FXnH|tsNVQ27oMx_>j#Dc>$84 zt#m{_uF#2-q=QrWCFB=X4h2fWcr9PFYMZC4b5#19f+e_}r~_!aOU@CGxI~9%0q#1S z4he{-^Og6RWs{dxpn(+B5E}E1q!IU+GB1e_#|9?Q6i zucvOP8nr&Zj2{*emJqHW%*@!s@G63`z)=>=dektB>iIH2k(ZZ?0SIcBx^3h>!^jvk`39q`pqXw;R$^XyzHUirNq$jgV$Ng%rhWi6 CRt{JI diff --git a/toh/hero/migrations/__pycache__/0002_hero_age.cpython-39.pyc b/toh/hero/migrations/__pycache__/0002_hero_age.cpython-39.pyc index 3594f176e2047fdcf9c1d82eaeec1520b788b183..ab66cb28739b78e1c000bf75d22f5b0a7429c28b 100644 GIT binary patch delta 82 zcmX@aa)yOFk(ZZ?0SNSTd^d7eFlYW~=ogn46o3ic0(0Gz gti-(ZeBH#9vc$aP)D+#sycFG%)Z&uj$y*rv0QP(vZ2$lO delta 72 zcmX@Za)^aHk(ZZ?0SIcBx^3jHV$=`T4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ XS&4b+`MM>gCHX~}i8+(^G4=rfB(E5u diff --git a/toh/hero/migrations/__pycache__/0003_team.cpython-39.pyc b/toh/hero/migrations/__pycache__/0003_team.cpython-39.pyc index 4498fdd235762e1b7e6743faba1647533ebe8d20..144daf844e993a7dc7fa5e3fd65f21fa57538262 100644 GIT binary patch delta 58 zcmeBSpT^Fe$ji&c00eqEz8kq0GBHL@UdtpaZLXV=m6(^FubY@smYA2EnxdPSm!eye MT3k{*`8Lx=0IIzawg3PC delta 48 zcmbQn-owtF$ji&c00dbp-8OPBWMcH6yp~B;&`dWaD={xUU$>;RB)=##F=z5qri}n9 C_YT_t diff --git a/toh/hero/migrations/__pycache__/__init__.cpython-39.pyc b/toh/hero/migrations/__pycache__/__init__.cpython-39.pyc index 5c2c49a72ffb7084c7db4a71bb758d59ed97cbc2..ae4dcd10f48fe50a8dbdb86e90f4be36e4b007ca 100644 GIT binary patch delta 55 zcmZ3 None: + Hero.objects.create(name='Superman') + Hero.objects.create(name='Batman') + Hero.objects.create(name='Ironman') + + def test_hero_count(self): + self.assertEqual(Hero.objects.all().count(), 3) + + def test_hero_id(self) -> None: + client = Client() + response = client.get('/hero/1/') + + self.assertEqual(response.status_code, 200) + #task code + self.assertIn('1', response.content.decode()) -# Create your tests here. diff --git a/toh/hero/urls.py b/toh/hero/urls.py index 7384e1e..0b40c8e 100644 --- a/toh/hero/urls.py +++ b/toh/hero/urls.py @@ -2,8 +2,10 @@ from . import views urlpatterns = [ - path('', views.hero_list), + path('', views.index), + path('list/', views.hero_list), path('/', views.id, name='hero_id'), + path('token/', views.token, name='token'), path('/', views.name, name='hero_name'), path('info//', views.hero_info, name='hero_info'), ] \ No newline at end of file diff --git a/toh/hero/views.py b/toh/hero/views.py index d86c570..d9a1705 100644 --- a/toh/hero/views.py +++ b/toh/hero/views.py @@ -1,11 +1,24 @@ from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, JsonResponse -from django.views.decorators.csrf import csrf_exempt +from django.views.decorators.csrf import csrf_exempt, ensure_csrf_cookie import json from json.decoder import JSONDecodeError from .models import Hero -# def index(request): -# return HttpResponse('Hello, world!') +@ensure_csrf_cookie +def token(request): + if request.method == 'GET': + return HttpResponse(status=204) + else: + return HttpResponseNotAllowed(['GET']) + +def index(request): + #view session + if 'visit_count' not in request.session: + request.session['visit_count'] = 1 + else: + request.session['visit_count'] += 1 + + return HttpResponse(f'Hello, world! You visited {request.session["visit_count"]}') def id(request, id): return HttpResponse(f'Your id is {id}!') @@ -13,7 +26,6 @@ def id(request, id): def name(request, name): return HttpResponse(f'Your name is {name}!') -@csrf_exempt def hero_list(request): if request.method == 'GET': hero_all_list = [hero for hero in Hero.objects.all().values()] diff --git a/toh/toh/__pycache__/__init__.cpython-39.pyc b/toh/toh/__pycache__/__init__.cpython-39.pyc index 1f06e9452bfb62b6aea81c654bc8b5d2c56365bc..1811aab7251c3410049bed92ad78c9e0bf542e8f 100644 GIT binary patch delta 55 zcmbQsxSWwYk(ZZ?0SNSTd?#|-F#1gNkd-#qP032kOV8I$OessuOHNJEP0UNtElDjd JDV|uS4ghe`58MC% delta 45 zcmZ3^IG2$-k(ZZ?0SE%7yG`V_VRV}4AuDL6o0657m!7X%Qd*Km4GG{frwu|`k}?CMaBAAiK*rJ`TE5L zIr_!r1qEP2x4>LCB`Yy6JzqC5r7SToIWw_?X delta 109 zcmZ1?)F8y0$ji&c00gJkx+ia($ScdZVxqP-a|&zv#^`^HoK@@wdSJM@ifKAC8%Sl9 z$K*sdjm`FK#!TFbKz?XYy7KLq@jA&pB)X D2Xq~j diff --git a/toh/toh/__pycache__/urls.cpython-39.pyc b/toh/toh/__pycache__/urls.cpython-39.pyc index ec7f97ba68795c5d3065c188fb64e45de05a8444..2cdba49eb3386afa6687ef6be66b57e4d28e5d2e 100644 GIT binary patch delta 58 zcmcb@evh3yk(ZZ?0SNSTd^d9EGBbKiu4I;#HrGwbO3X{o*G)_*OUz47P0>xvOVKS! MEiNgZyqsAV0JujH7ytkO delta 48 zcmcb|eubSok(ZZ?0SE%7yKUsoWoERST*)jeXr`Nzm6(^FuUk@Dl3$dWm@|1Jvn~KJ Cl@1XA diff --git a/toh/toh/__pycache__/wsgi.cpython-39.pyc b/toh/toh/__pycache__/wsgi.cpython-39.pyc index c626f8983ec9b3448e08e65f43ef3da4ecf23b77..5b8a4f5ecb7f6e04ad34a3002ba6a9a0d07e5507 100644 GIT binary patch delta 58 zcmZ3%vWbN|k(ZZ?0SNSTd^d6*W@Pl3e4bHO+FUm!D={xUUpFzOEHN)RHAOcuFGaT` MwYa2s@?S=60KEGVv;Y7A delta 48 zcmdnQvVw&>k(ZZ?0SE%7yKUq?%*bdr`8=bnpqXw;R$^XyzHUirNq$jgV$NiCCT##P CXAQ0Z