From 9429f59b3010ad8c8acda1436083c7a30ddf60e4 Mon Sep 17 00:00:00 2001 From: DoohyunHwang97 Date: Thu, 20 Oct 2022 18:50:33 +0900 Subject: [PATCH 1/2] p7 --- toh/db.sqlite3 | Bin 159744 -> 163840 bytes toh/hero/__pycache__/__init__.cpython-39.pyc | Bin 158 -> 170 bytes toh/hero/__pycache__/admin.cpython-39.pyc | Bin 199 -> 211 bytes toh/hero/__pycache__/apps.cpython-39.pyc | Bin 431 -> 443 bytes toh/hero/__pycache__/models.cpython-39.pyc | Bin 1025 -> 1266 bytes toh/hero/__pycache__/urls.cpython-39.pyc | Bin 417 -> 429 bytes toh/hero/__pycache__/views.cpython-39.pyc | Bin 1960 -> 1972 bytes .../__pycache__/0001_initial.cpython-39.pyc | Bin 661 -> 673 bytes .../__pycache__/0002_hero_age.cpython-39.pyc | Bin 578 -> 590 bytes .../__pycache__/0003_team.cpython-39.pyc | Bin 908 -> 920 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 169 -> 181 bytes toh/toh/__pycache__/__init__.cpython-39.pyc | Bin 157 -> 169 bytes toh/toh/__pycache__/settings.cpython-39.pyc | Bin 2304 -> 2342 bytes toh/toh/__pycache__/urls.cpython-39.pyc | Bin 980 -> 992 bytes toh/toh/__pycache__/wsgi.cpython-39.pyc | Bin 552 -> 564 bytes 15 files changed, 0 insertions(+), 0 deletions(-) diff --git a/toh/db.sqlite3 b/toh/db.sqlite3 index 69d2e6a8f182a347828cb69527f65fb15f607c9e..29ac863028ee516d7a0c37625f72ec31c1292161 100644 GIT binary patch delta 482 zcmZp8z}e8iH9=a?fPsNQ1BexYm=TCwC+Zlp8ZhX^%WOhBdFHvyicE2g#~BTP zN;4-;G?fHuJ1!0+4vA}OGB#N@np(1p%gX~<)8i8u#ThlGmnSe*OY0~ofnBbokeOGK znx0yu;O8Hr;1}xSqq)5=W*??Pe`n4p+!tJ@Kj8&|RT$>pm{P$mW zfYD)M0LNAirXTr2yg<`g`FAq#f8u|_f0O?t|IW>V3CsE2`B+&QB@p3utdvROsc}yk9De zm30k&27l0IMFR`|$wB(jjNFsg=?5~3HW_R)U}Q8fWOio|We8>9vf*6GahF4g?G>8{ zYcA7f=1ArPObv`(OwJ6S8AADGd0+G9^Q_?!<*u7JQJJMt+K7Gowp2z##_1~Qj62z^ z4cNr}H7D=qmYB|(&L}_qZaSkeSEHadySSnvV`J`Q18&LbqFIcELd<;(LV?e)=$aL&!{ZT(=X32$}TQQOitA=E-xt1 kEil(j$x6&i&(}>%DND>tPEFBG%uCTNNi8lZo>-;<01#RmuK)l5 delta 70 zcmZ3*IFFG#k(ZZ?0SE%7yG`V_(RbDlElw>e*3U{zEzi%_FD}T@FD@@A028_eX1Xa^ UiFxVyx+SG0`9+zDITM>S0M4!#1^@s6 diff --git a/toh/hero/__pycache__/admin.cpython-39.pyc b/toh/hero/__pycache__/admin.cpython-39.pyc index 21290fdbbb40bc152808868f63bee604513c24b3..d7feca83cd2913960c73799a6d087215ef2d6abc 100644 GIT binary patch delta 82 zcmX@kc$twqk(ZZ?0SGis_)p}{u=ddpElw>e)=$aL&!{ZT(=X32$}TQQOitA=E-xt1 kEil(j$x6&i&(}>%DND>tPEFBG%uCTNNi8lZp14RA05se*3U{zEzi%_FD}T@FD@@A028_eX1Xa^ ViFxVyx+SG0`9+zDITP2Z0s!rI7pedN diff --git a/toh/hero/__pycache__/apps.cpython-39.pyc b/toh/hero/__pycache__/apps.cpython-39.pyc index f74e04d4c98b41be308e5d17b680569a2684c5d1..fcdb38024fb461983ef538b63e6aacfb1c8b0e8e 100644 GIT binary patch delta 84 zcmZ3_yqlRjk(ZZ?0SGis_;2LqVzlFUl@1NK8)EFD@@A m&@C|6P032kOV8I$OessuOHNJEP0UNtElDjdDW2@Ym<<3nxf|2~ delta 72 zcmdnZyq=jmk(ZZ?0SE%7yKUs=V$`?S4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ WS&4b+`MM>gCHX~}i8+%47_$NIh8HUU diff --git a/toh/hero/__pycache__/models.cpython-39.pyc b/toh/hero/__pycache__/models.cpython-39.pyc index f16f174518ae8f7ba42c3e40353e72c784426d88..33a92c0d07c1de5179252495863912f46c0dd1ce 100644 GIT binary patch delta 619 zcmZvZ&ui2`6vt;W-8R`xwmD2)y?ePD7KtH>PYd6-`hVIb4}ER^tErm=!hrVtj&6sCN_J1=c) zVk`vXV|QEW>`Jd^3f=3)H1Twi-$1*AW;%$10e`^;{Fs4-yLHSy&Aj290Yk-NXS}qn zk|ewA50Cs*4wc_G{&>;H(G)Rprt4539#)N9_tQeV*tBZY8SSC3>F-XkKq-fcG8o0G zg~wCH?OO4_)K1VUKk{q4bu;%~TBv=c@Ag#!m5}J3p`MF`vxNU6YLDh(VR@-{H)P3%+UOJPl6Yhj4uNMR3V(BznSRdX^Qqm>CC zP~9&_{m|mnqGJ85#MJWqeEs5r9R1?*f&wt1TVSS}l9ia3p08U{T9RLsnV2)VgHc9? z9jLLG31kgp6^}=1QNCV$d~r!pe7v6~=j380Qx|Ta)GZ#*ypq)P)FQXc)SQ%C%!xpz z08qRLWGxcG58^Td2@o!30}>pJJdAuylYcQSW0ah{kXb{S6Ql&>ts))}fiM897i6f| z~u^+StOi;DGA^7At)OY`*0^NX^J3lfu4^^4033Umw1byKnu^V0Km6I03(^O93j TbQAMZbW2i;ONu8KG8zB?%rz&M delta 111 zcmZ3>ypWkYk(ZZ?0SIcBx=rL>$QU(oZBY;#kYB_OByMq+7UdKqmXxFxFUl@1NK8)EFD@@A n&@C|6P032kOV8I$OessuOHNJEP0UNtElDjdDc-!1@jEL3b@d%; delta 73 zcmdnOzk;7Tk(ZZ?0SIcBx^3hxXViDl4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ YS&4b+`MM>gCHX~}i8-71GJak(ZZ?0SIcBx^3h>!>AvmA6lGRRIHzsm|C8nuU}k{qhDNJPyi-$3(Ry= XvJ&&s^L0x~OY(~{6LTgDG4%rg8|@eJ 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..e2870d5583603a22403c20f423ee0bcd8e2a884e 100644 GIT binary patch delta 84 zcmX@aa*l;Nk(ZZ?0SGis_;2K{VziFe4=qkDD%MZQ&(EkV&C@T>FUl@1NK8)EFD@@A m&@C|6P032kOV8I$OessuOHNJEP0UNtElDjdDW1HAu@3-d?i~{V delta 72 zcmX@da)^aHk(ZZ?0SIcBx^3jHV$=`T4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ XS&4b+`MM>gCHX~}i8+%GF!lieB}Eve diff --git a/toh/hero/migrations/__pycache__/0003_team.cpython-39.pyc b/toh/hero/migrations/__pycache__/0003_team.cpython-39.pyc index 4498fdd235762e1b7e6743faba1647533ebe8d20..59cd825a3152bc4f7491dea6b13d7c22b52f1513 100644 GIT binary patch delta 84 zcmeBSpTW+Z$ji&c00bH*{5NthWU`Ld4=qkDD%MZQ&(EkV&C@T>FUl@1NK8)EFD@@A m&@C|6P032kOV8I$OessuOHNJEP0UNtElDjdDV}_rX(Iqn!yOy| delta 72 zcmbQi-owtF$ji&c00dbp-8OPBWYYK74=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ XS&4b+`MM>gCHX~}i8+&>Gi?L_4Y?Sf diff --git a/toh/hero/migrations/__pycache__/__init__.cpython-39.pyc b/toh/hero/migrations/__pycache__/__init__.cpython-39.pyc index 5c2c49a72ffb7084c7db4a71bb758d59ed97cbc2..6bec53c44d9e832b20b69337a89cdb95d65236b7 100644 GIT binary patch delta 82 zcmZ3e)=$aL&!{ZT(=X32$}TQQOitA=E-xt1 kEil(j$x6&i&(}>%DND>tPEFBG%uCTNNi8lZo>*oK02&1w+W-In delta 70 zcmdnWxRQ}Ok(ZZ?0SE%7yG`V_(f892Elw>e*3U{zEzi%_FD}T@FD@@A028_eX1Xa^ UiFxVyx+SG0`9+zDITM?V0oKhIG5`Po diff --git a/toh/toh/__pycache__/__init__.cpython-39.pyc b/toh/toh/__pycache__/__init__.cpython-39.pyc index 1f06e9452bfb62b6aea81c654bc8b5d2c56365bc..c6be77a54ac1036028ccb3ee788cf1b8b0d6b317 100644 GIT binary patch delta 82 zcmbQsxRQ}Ok(ZZ?0SGis_)p}vvG&ssElw>e)=$aL&!{ZT(=X32$}TQQOitA=E-xt1 kEil(j$x6&i&(}>%DND>tPEFBG%uCTNNi8lZo>-<101tT^s{jB1 delta 70 zcmZ3e*3U{zEzi%_FD}T@FD@@A028_eX1Xa^ UiFxVyx+SG0`9+zDITM@I0nPCj0ssI2 diff --git a/toh/toh/__pycache__/settings.cpython-39.pyc b/toh/toh/__pycache__/settings.cpython-39.pyc index 28ee7a655f99b42a3b4fc211a61f9b69ba080743..577cd3616ee36c51cd6ac3cb7d7df08f3f3c6579 100644 GIT binary patch delta 162 zcmZn=S|-Gs$ji&c00bH*{F6^j1g7cCjNF@luqH6MDgjL@0ujIb^h1kNi;DGA^7At)OY`*0 z^NX^J3lfu4^^4033Umw1byKnu^V0Km6I03(^O93jbQAMZbW2i;ONu8?qGA954 delta 133 zcmZ1`)F8y0$ji&c00gJkx+ia($ScdZVxqP-a|&zv#^`^HoK@@wdSJM@ifKAC8%Sl9 z$K*sdjm`FK#!QxqKzFUl@1NK8)EFD@@A m&@C|6P032kOV8I$OessuOHNJEP0UNtElDjdDW1HXSr-6n{~WOZ delta 72 zcmaFBeubSok(ZZ?0SE%7yKUsoW!AUT4=qkDD%Q_ROfApP*Do%}(JwA9C;$_>1!lS_ XS&4b+`MM>gCHX~}i8+%uGwT8X98(ww diff --git a/toh/toh/__pycache__/wsgi.cpython-39.pyc b/toh/toh/__pycache__/wsgi.cpython-39.pyc index c626f8983ec9b3448e08e65f43ef3da4ecf23b77..065e6dbe3c2b315521a1b3cf6b29dc087f7c4f72 100644 GIT binary patch delta 84 zcmZ3%vW0~^k(ZZ?0SGis_;2Js%xLYUA6lGRRIHzppPx}#nx|i$UzA;3keHmRUtC^L mpj%+Bo0657m!7Yim{OLQmzk(ZZ?0SE%7yKUq?%&2dtA6lGRRIHzsm|C8nuU}k{qhDNJPyi-$3(Ry= XvJ&&s^L0x~OY(~{6LThWGHC+<5&sua From fd5e8ca32a7706585bb3070958d32590d80afcba Mon Sep 17 00:00:00 2001 From: DoohyunHwang97 Date: Thu, 20 Oct 2022 19:08:05 +0900 Subject: [PATCH 2/2] p7 --- toh/hero/admin.py | 3 ++- toh/hero/tests.py | 20 ++++++++++++++++++-- toh/hero/urls.py | 4 +++- toh/hero/views.py | 18 ++++++++++++++---- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/toh/hero/admin.py b/toh/hero/admin.py index 8c38f3f..c4f1819 100644 --- a/toh/hero/admin.py +++ b/toh/hero/admin.py @@ -1,3 +1,4 @@ from django.contrib import admin +from .models import Hero -# Register your models here. +admin.site.register(Hero) \ No newline at end of file diff --git a/toh/hero/tests.py b/toh/hero/tests.py index 7ce503c..7817bc8 100644 --- a/toh/hero/tests.py +++ b/toh/hero/tests.py @@ -1,3 +1,19 @@ -from django.test import TestCase +from pydoc import cli +from django.test import TestCase, Client +from .models import Hero -# Create your tests here. +class HeroTestCase(TestCase): + def setUp(self) -> 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) + self.assertIn('1', response.content.decode()) 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..c04c771 100644 --- a/toh/hero/views.py +++ b/toh/hero/views.py @@ -1,11 +1,22 @@ 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): + 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 +24,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()]