From 10f3f8e154e39b4d812b3a9b16853bacb1690cb4 Mon Sep 17 00:00:00 2001 From: yanghyen Date: Sun, 2 Jun 2024 10:00:11 +0900 Subject: [PATCH] ADD: 240523 session upload --- session_240523/.gitignore | 1 + session_240523/coplate/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 152 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 168 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 147 bytes .../coplate/__pycache__/admin.cpython-311.pyc | Bin 0 -> 1053 bytes .../coplate/__pycache__/apps.cpython-310.pyc | Bin 0 -> 433 bytes .../coplate/__pycache__/apps.cpython-311.pyc | Bin 0 -> 541 bytes .../coplate/__pycache__/apps.cpython-312.pyc | Bin 0 -> 455 bytes .../coplate/__pycache__/forms.cpython-311.pyc | Bin 0 -> 1069 bytes .../__pycache__/models.cpython-311.pyc | Bin 0 -> 994 bytes .../coplate/__pycache__/urls.cpython-311.pyc | Bin 0 -> 376 bytes .../__pycache__/validators.cpython-311.pyc | Bin 0 -> 2586 bytes .../coplate/__pycache__/views.cpython-310.pyc | Bin 0 -> 767 bytes .../coplate/__pycache__/views.cpython-311.pyc | Bin 0 -> 1002 bytes session_240523/coplate/admin.py | 18 ++ session_240523/coplate/apps.py | 6 + session_240523/coplate/forms.py | 12 ++ .../coplate/migrations/0001_initial.py | 44 +++++ .../coplate/migrations/0002_user_nickname.py | 18 ++ .../migrations/0003_alter_user_nickname.py | 19 +++ session_240523/coplate/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-311.pyc | Bin 0 -> 3637 bytes .../0002_user_nickname.cpython-311.pyc | Bin 0 -> 826 bytes .../0003_alter_user_nickname.cpython-311.pyc | Bin 0 -> 1090 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 179 bytes session_240523/coplate/models.py | 15 ++ .../coplate/email_confirmation_done.html | 6 + .../coplate/templates/coplate/index.html | 19 +++ session_240523/coplate/tests.py | 3 + session_240523/coplate/urls.py | 7 + session_240523/coplate/validators.py | 50 ++++++ session_240523/coplate/views.py | 11 ++ session_240523/coplate_project/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 160 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 176 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 155 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 3003 bytes .../__pycache__/settings.cpython-311.pyc | Bin 0 -> 3407 bytes .../__pycache__/settings.cpython-312.pyc | Bin 0 -> 3300 bytes .../__pycache__/urls.cpython-310.pyc | Bin 0 -> 1380 bytes .../__pycache__/urls.cpython-311.pyc | Bin 0 -> 1099 bytes .../__pycache__/wsgi.cpython-311.pyc | Bin 0 -> 714 bytes session_240523/coplate_project/asgi.py | 16 ++ session_240523/coplate_project/settings.py | 155 ++++++++++++++++++ session_240523/coplate_project/urls.py | 22 +++ session_240523/coplate_project/wsgi.py | 16 ++ session_240523/db.sqlite3 | Bin 0 -> 249856 bytes session_240523/manage.py | 22 +++ 49 files changed, 460 insertions(+) create mode 100644 session_240523/.gitignore create mode 100644 session_240523/coplate/__init__.py create mode 100644 session_240523/coplate/__pycache__/__init__.cpython-310.pyc create mode 100644 session_240523/coplate/__pycache__/__init__.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/__init__.cpython-312.pyc create mode 100644 session_240523/coplate/__pycache__/admin.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/apps.cpython-310.pyc create mode 100644 session_240523/coplate/__pycache__/apps.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/apps.cpython-312.pyc create mode 100644 session_240523/coplate/__pycache__/forms.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/models.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/urls.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/validators.cpython-311.pyc create mode 100644 session_240523/coplate/__pycache__/views.cpython-310.pyc create mode 100644 session_240523/coplate/__pycache__/views.cpython-311.pyc create mode 100644 session_240523/coplate/admin.py create mode 100644 session_240523/coplate/apps.py create mode 100644 session_240523/coplate/forms.py create mode 100644 session_240523/coplate/migrations/0001_initial.py create mode 100644 session_240523/coplate/migrations/0002_user_nickname.py create mode 100644 session_240523/coplate/migrations/0003_alter_user_nickname.py create mode 100644 session_240523/coplate/migrations/__init__.py create mode 100644 session_240523/coplate/migrations/__pycache__/0001_initial.cpython-311.pyc create mode 100644 session_240523/coplate/migrations/__pycache__/0002_user_nickname.cpython-311.pyc create mode 100644 session_240523/coplate/migrations/__pycache__/0003_alter_user_nickname.cpython-311.pyc create mode 100644 session_240523/coplate/migrations/__pycache__/__init__.cpython-311.pyc create mode 100644 session_240523/coplate/models.py create mode 100644 session_240523/coplate/templates/coplate/email_confirmation_done.html create mode 100644 session_240523/coplate/templates/coplate/index.html create mode 100644 session_240523/coplate/tests.py create mode 100644 session_240523/coplate/urls.py create mode 100644 session_240523/coplate/validators.py create mode 100644 session_240523/coplate/views.py create mode 100644 session_240523/coplate_project/__init__.py create mode 100644 session_240523/coplate_project/__pycache__/__init__.cpython-310.pyc create mode 100644 session_240523/coplate_project/__pycache__/__init__.cpython-311.pyc create mode 100644 session_240523/coplate_project/__pycache__/__init__.cpython-312.pyc create mode 100644 session_240523/coplate_project/__pycache__/settings.cpython-310.pyc create mode 100644 session_240523/coplate_project/__pycache__/settings.cpython-311.pyc create mode 100644 session_240523/coplate_project/__pycache__/settings.cpython-312.pyc create mode 100644 session_240523/coplate_project/__pycache__/urls.cpython-310.pyc create mode 100644 session_240523/coplate_project/__pycache__/urls.cpython-311.pyc create mode 100644 session_240523/coplate_project/__pycache__/wsgi.cpython-311.pyc create mode 100644 session_240523/coplate_project/asgi.py create mode 100644 session_240523/coplate_project/settings.py create mode 100644 session_240523/coplate_project/urls.py create mode 100644 session_240523/coplate_project/wsgi.py create mode 100644 session_240523/db.sqlite3 create mode 100644 session_240523/manage.py diff --git a/session_240523/.gitignore b/session_240523/.gitignore new file mode 100644 index 0000000..5576b04 --- /dev/null +++ b/session_240523/.gitignore @@ -0,0 +1 @@ +django_coplate_env \ No newline at end of file diff --git a/session_240523/coplate/__init__.py b/session_240523/coplate/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/session_240523/coplate/__pycache__/__init__.cpython-310.pyc b/session_240523/coplate/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..62ee555335a891ea594255135824738dbd1e8289 GIT binary patch literal 152 zcmd1j<>g`kg1=j%(?IlN5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!HuerR!OQL%ny zVqSViWol-gzDsIxc1eDLzLAN6sgZGfacXgKW`3T2a(+QhVo9oge0*kJW=VX!UP0w8 V4x8Nkl+v73JCLEpOhAH#0RW{oBKQCR literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/__init__.cpython-311.pyc b/session_240523/coplate/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1f98389b575ea1a2ed303901532980f66732bddf GIT binary patch literal 168 zcmZ3^%ge<81b??ir-A6lAOZ#$p^VRLK*n^26oz01O-8?!3`I;p{%4TnFKhkK;?$yI z{mR6=^o+{X%shRU)Z*-t`~rO=69ZEtq)%)HE!_;|g7 m%3mBdx%nxjIjMF@>rxq3KXH=Hv zmFMT{yQCIpm*f}dJNpOtIEJ|DC+8RBB$lM=$H!;pWtPOp>lIY~;;_lhPbtkwwJTx; U8o>y}#URE3CxE|s;85O<+jLn z+LHbrz@QBgXln=}4e1018Y)RLGBPENWn@XRGjb%A6$M6HM^Nghh}y$GOOxm#`?4?t zfZ`GEfUP4npPV2}| zu~O({3B#mIVo_F|-daLpEM?}~s-N!#3M(d^btSS<5|)?A^*rHtUX-AIh$UA%?`_`? z)g0;Bc_dERCvd8c|7_7!hs4}XKklw>ViLP8%+}MS=guwMxjQ%SF`Vtw?IgWWN^!HR zZT2>)dK;Nh7sz~RwlBV8ySi)f={a7T=hni&p4?yLx0d+yQ*J#Q*b{@wRX(vY)U_#R z2sFDqG=Xz%{}sR8;xmu9^*9SSSmDzudRVirnA=P0qt}a^%MDvxLTgfV((EL0O353l z9Q6u3}uBU;4OFnUdAgE zuYiQaxv4}?y7T>f{yzKkV9+IKzn^#cJDy*@*t8IfF}mHy00gKa3z|_%t_cLd-Uu*B zUs)DFcthgOH=;;P-Ojl&6J6%TeC9iwMzI*9+aU%?G71E5(~Loog}{&{bc2aDO4PEY zc-ezTQOZtH14>F^HMA%=dQ~+f*a-YKIhMkQ0vJq z$Xqn4<^m~rzTyb|?1NN(8>{ehlHOWb*>s804@+5;>7}$!wKnPK=-_yC$gQ-t&}F(- zPlYiyG0Tb}g&k_~0Sq{6`fC>V$U zzl#i+NQOdWuA#)`hUYtGNK=8^HF9OT9Zw?{TGu1gVcLP+sYjuAXj6y8^X-(~Qgd-0 zW7q6bjN<~voE$j!$BB&F=-GbBR+pU{&t=KVwwg9V(Skai!lBBPh?f zEme+-*$;(KAbOfgl>|zNiyTe!d+Cq%gC!n{RIi literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/apps.cpython-312.pyc b/session_240523/coplate/__pycache__/apps.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4652c6cdd6857cfb175373d16537afa314b5077a GIT binary patch literal 455 zcmXv~Jx{|h5IrX;l(s<#6(j}*7?83gj0^~=w1ALMVJJ%$E7VRYxUtEHP}q?A1K7%6 zK>QRI#wrpM6B|-t>4cpG4|nhU-ks0y%`|Hu&-QN5f0p@E75}GFg4vD)6CgkkgAsBO z0u4@pXk#EcMX!3HbG6j4DqpIwP`1<(qRj(;IOrF25m8ypni5Qaf{O^a8bPj3G}lOV z%gD?&7tD)k(f+VWZoFW?ZE|IgIH4@E4~K(R67%CBWh7hd7wWE6$*LF!-iTtH)i9Rg zgely>_%88S$*dCUdkKrNCr4mEpJ6EO1!iiwx$Rs=G>n|jk$2z=ND(K z-jP$j=XgRywn#%|QyvTnB2$JjOgHx4jrD20`Pd27P0n{MJ*$_WQO%(;u4r#4lna+7 jnpgLWNE*{>BbMqxi&|kRW~C~4D4vRf(jF{c*2A)7CNb$|H=Rj@NDr$7 z^yopzwWo^o?Em4RhcH)9y+}%WDhR%}YZ7aHv-8{cF*EPYZ{C;L*#ZIi_3c&lC;We) zF&68OGFk_vPdMQ;Bu(m3N;u<2$eM;{P{PPl!p$DxmY@xDym{XskXoEy)tDv{m|oZ|DDdiOhx9 zS2qC?GAJz^mTv7mJ1n`$?cUu1vp+cRop&p}l_VW01)Gi~FTiqHM3_ZDQY5k`FCnBv zVOE(N1Gb-f4lw0+$QWB3lJjtkzLRMn&)6KU`xml2m;#%~<_&oNSmLdWfx@Kkr zy9RqVtLJQur}?$4B{FD$LK%#PcSY1 EHx4!D8~^|S literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/models.cpython-311.pyc b/session_240523/coplate/__pycache__/models.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b7f8b2918d14e9f7cd8c1d8431eca63e5bbe3562 GIT binary patch literal 994 zcmZuvzfaph6uz_L{AxldFjP@mWo(wDg0@m6RH-To8%ybu4kzO~5`%w)yQC^r2UMjJ z6 zNM(hah8Q1<;S!KG5u`#nsc0Gz`bK23kW;R4O&C>*er^$$Mv_I7)F zhsA;sBwh0zbA(rI)Fc);h>SEX&!tJb!K?Uj~<+HCms(){B`Pv#exg41l@ zD_MTsfdZGpMilGYL5wlz1Y_@0xJ7ZS(y*<<1a?R_k^YkHXtP7KvQmf#amGB;6^sQ* z#$cnSgFMC9R?~FCh{Pm<#7pR1*%l6$QPgqIwl;BroCSGIy;-Q~fZXj;D@0G9|m_Xbl`n;VeZ5FUtUtrTKG zf^R^%{32fq?PkZ?^1X(%*NSGdQ7eXplK4wWEXpX8&~6sxbqZJU#jqC7<$VZXUz86p n&?%)|lIz@@U9!-*IlJU(=jI$l5)|^d4ZDjM`1bNYp^>3~=|ctg literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/urls.cpython-311.pyc b/session_240523/coplate/__pycache__/urls.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..300ac1d3dda1cdf63f6ee740e08025d7b4351eec GIT binary patch literal 376 zcmY*Tze~eF6n>Yxq}5mjUEM>Lo>av}oQjjUNSAbw;GJ!1esPytvvus?u780dy83@a zaF9%bQ@233g5VvsL%;Xl_kQs{-gBd|4hp~T-Rnr@AKffr{ui@TRXhL#hC+ythY&D> z;n0Y%hY=XS5hENA$nubxZ`KnAcvZ1L4|yi5U4UDk>Vb<&lKNSHiWZG|8}N}Vp)`Y- z@jJba{fM8tR%x?=ANP{xP=r!wJz;6mzloZn(pDR#m2nZv7nrFL%#UbCav^E1PWw3z zV%p~NCQDM<5a6R(|le(juJKu`H9$6I{G_#rl`UQp)c4i oR{a}xidC;HFxSTI$@Zjk-+dev#Q7l3CvhrlY#C!)o7hl-fA~{hGXMYp literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/validators.cpython-311.pyc b/session_240523/coplate/__pycache__/validators.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fd80f4c60d77840811b2cd18ec04d836c2a41442 GIT binary patch literal 2586 zcmcIm-)mb{96$HwXPc%;*VMY<%5AmM%rzOcbA8xEbn3tw#7&WiT&}ryZMxgsc+Sn% zmI|HLQMSS=G`0vE9lF`tJ^0YUggyBeB$9`6p&-Z}Ms6VzeHjRTzc)7_ZCdxBJGtk3 z&iQ`NkMFO~Ir+iwZzfRwzW4F@>n=im$3e9??N0f9=qwSL$ec>z*zzhj&c}I<$c|YO zcgRklPT2+2CA)#TdGa=qJ+nmi-r)&ZhgvCdkK6=uugsk#;pRukjDp>~WSX2NpR|9@O>;U*?J`zdagk65CLE9N-16?Goz483${I)h3CmqN80wkfUwof3qu`^Wj%# z*AdGu>W7t2+b&hR^klngld5)wK(ltJv<=Bq)zd8}N0K^gbbFxY_Ecv4Q*d@C=yC`u zivrm@i55@gd;)xRzV5E`HLR5ryvuMALnQE5? zX_xM)${J6g0ljH|DGTVB+IEroo!Wf?o`8$W5qpGK$eaT*WZqm5%o`i#mzT{O%YwOl zxp?=!P@JEMnpftb3*w`KIk#@L+gE=!=aws6!Myd;c6JSyezRd_9|$lgUYjdk`#utO z8xB=TSs#sR=nPq`fECGm$?qSvWA6Ynd$hfeV{AA_y}9%_!p?1dj|p z416r}5sd!3t7irC=2yj)+uPX!W=ye2QWO`_MU%4(Zx|kO^doR zp-=Vh=fWM+j^ZYm8UVsTG8af%_Jz4v*kyP{F(r*FqG&XW;4SFe27sE0**i4v}<2Wv>C5sr^d4*EPkJNCORVt})>6O)Hz@mU~~cuY+V4RLM>- z0FW?Hc9C}h*@g;)?j@K}pZLYwkn7j)Zf94wvnv1%0L{`B^Xk27^7D0x&QZi_eO$V# zIV+~L#`l!bKA4Yh4vPSpAzPmAmEOFkui)uJPrS=*wI0rOy_0VpF0>Bkyu&32GAp7= zu$n5b-!t+Uy!Kiop;0BGOeB;v{u^Ny{wfOM6IX{$D@1tuuGl^Ho~%UsReA)Zm}2Zl zAaF9rZ4&>C_1h!^xt(9h?c~}@q()k6J&X5*VGD<$-<$qn@&BxscJUl~VQ*^rP= z`T_hh`|6WlK@gnDsZ>#LV8Udw`=8%r;%2i6L;LpW?dc(B>@#idT8f(^bf85u%`I!W z*@7>&KT zFdodD4|^{wfJ^7~qN%zw^JZl(Yh?Om6btkPIuLeXACc%fLFHt5wO6~ft%506DE*;m zLTi13U!gJ__$95^My|`PHL;)i3_|X^F78QeD*= zrG|-8t<$}wc&gNSU)k-6pP~320D|>I;dgPN00=c_Qyw$Rc`onkcQ^u9K;wL<`v9H> zJna5RBQf|4Gx9-YZPkaSsOsAFT`1y2JPl%d3smE8#fSX)7WV}`pZIL1NHFEO*caac DGy1R> literal 0 HcmV?d00001 diff --git a/session_240523/coplate/__pycache__/views.cpython-311.pyc b/session_240523/coplate/__pycache__/views.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8a1e201c99eb609a454d9df65742b42735502ba5 GIT binary patch literal 1002 zcmah{J8u&~5T3n z?3G_bv+`XWk4aWyH1sG#ugvH!Wt=uiw)o27ydN=dqvM2I^lg{+UF3FY8hWDQ`OZ zU9itd(F>$5k}MPNj6!If`kT25O#CUb+7^v%p13YfY$wd$d-N|7#vfmb>wF#o=day4 z?4Q=^XSI4-sk2!Owwqd3vF*?asBLF6wjD%X;tPM)ws#W8&ogWRzdZ(dMG|5+F(Bav zI(!*n|ME9hh~5~(b;$3FtLh&*6`nuIk}Mm^U<|e_jlsYQ7Rd&~Cc7b7jQKGvWS6y_T_;tOvAQL<8O@04 z5yq2B6^9&h+*8(vJ@`Z_g%4a(-XM#@4cS!p9cm~5?ufJ>#wUH^-Iz}`Jj8nI-S=G(D_zE5|S-xSr)A#TE$Z9+Ok%U zEyv_&J-#d}(oG4ee~^%dwY9#kvZtyfJ%c;Cmiv(WrBsZ)kM9JK*zTd7Je)%NM2TvQj?c8MZ&SQcy|j@5ufQ>OY~-BB%>ILZ}&ab zz!SKmtE!-cKqk90D2Wo=siz8{;O?RN1xm2R=Rli`(%S>?J{M>k6gc2Ay1?ckl-bVi z!wtP>^)Na@WHgM9A{nRG2D9l7r1QKEO3%Xg#&Q9!0lya0-ZR3m6Pw`WHgCR9e_J6aJ^^% zV?$jZ)(-c2N4h<9X8VJE5iJTG!##|Q&Z2YZLv$V$w@dq&EAK;33G_6&upeC;06iBW z_A}q9=+gg*XRkK4j&^<6+rAsmDrEWg<#%%z@_qz;1aKV3K$41?JY*^T?0ZdzjHKq`BgDLZKMUAClw_{XXYZWDs0Id^B z`SGEz6K~aNdOCjGutSb{ zV=r~FaN|@jk7`Qx{hnq zF{Ne=Qg-0HLVPWxuVCGak`w~0M>|XUqD`@dE1fJMHuWGNx>MER zoq|1{17@Y-G;N3ui$|MSKX8VPHHX+3`C_0)gQDV&aH0f9@tW&28`L)!;OU}%^hhEV zSFq*SHONq>r1$azQnQA=eJKjBIvZ*WusSv?tK2(ajJO@GB_?vtpx9#?SMH~HL6?Nh zVmyi+4?Rn}*y2?h72!~K1W5`7D{@wWWDwqGxFTauq4+1iY~Tv1lFB>fQ-#Fr6~}&darnlC5-62GFZwm;Jct{VZ&f)!+6*a0A;2+Z6(} z!9O-w|22^zclj5E%U}8|Jxgj=;eflr&9dY*sK}^0Fb7O7kUEZr=~>6IuxUr5I9fC9 zn#1}kj_tW*#pQ>$JI)mzTeL|9^e=XfiKT80veb26K9Pc0(<2s?jRyvN$Hq*xoppBT zu4!*9I9x`sey#5At?bAT+2LU1>^G0Xk+VD6_mjc05!h}pLU%`KI6{Mr*UF9si`Bf`B9uzKaJ_-vLcP3vf1Ye<`fOiWxEZ`thZDk9=#LU*w zaAIa>u`NlzluZSihBB){bK;u%O2{`t!c2Bf-D_(#xJ8329xPl{=J}2#^=sa&s8!y0 zs;|OUPo337b2Do0Yyakx543+p4cPGD!&X4*8tkL0&70qAH)GJ`Z^Zxs5&$4!COaP! zk5%T6Rep|M(BNwv6so(0YFMZSnOZBG3-YDSYM3uQUwBaozN!Ryw3|m^9t9cP${q_w z&uyL#N6$TYM8PQD9mU~jLgU-VGBsUO>c&N|pEdA{_;g$R0m8Af?flhaI z8tPG0j|XGZo0r3}=^f6;ylio`zf-PrCCln>d4tu5y!lkS#UZ(Q4Qzn~TOeU3ds}N| zPX?zx*;)!ueez;5xW5jwH%eMzZ1BinTbCxz zw9b@Txruh4HaystxJXMwW1Ba=yBFrlVeaxjadapG8OB&)v^qD8o&C5N%bKWhhShL?BH>zm{|==>A&L i2f;zVmXr&+zjpkj9B)he#W$%iGx>@yyg6W1`1U{PNE568 literal 0 HcmV?d00001 diff --git a/session_240523/coplate/migrations/__pycache__/0002_user_nickname.cpython-311.pyc b/session_240523/coplate/migrations/__pycache__/0002_user_nickname.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3470e635e041faaac3e7f50ca05a7f0e8c4cf0a7 GIT binary patch literal 826 zcmZuv&1=*^6n~Rsvq{*Z20?V~r4(^5&ARHX2x3uIv+a5d! zUV7_);0N~L#k+q(g*_~D_0(I+_EZpjlWr=d&V-luoA+kk@AqatFDzJq#k`$I^az*b~=X-!@timdL z`dJEl)w38+GMIs+OkqAP*&wxQCmIG`%0;c&Y~G@N=%>CH2rWx^ER4|aY=z!{A6&p{ zFB&Q;@!rvZhuyR%v@i<-p=Y7Lo$(?jl~I|GF=;ECJ`dPB)--6bPN}dc#SUZvN54kt zcIE{#S0cuTJY+oV_&kYaGlg-Vv4`@ESd-9v(DUK~3o9D(c}u^-O!ngVne!4!C(g(V zyS)+jLuZXATWK_OT6davTeoS#lLYU;nM-#5-HLeq+ zN7Ce~ZtLU6a>m!nO6v_xn5>Tyq7}ALbfM6G!sV(=D{|}T9UH4Bt-Kd6BE*Lb$tyIu iN(e!Iq_Gb-&wsgIBYFxO^xBNB@Zyb^iiD@zies literal 0 HcmV?d00001 diff --git a/session_240523/coplate/migrations/__pycache__/0003_alter_user_nickname.cpython-311.pyc b/session_240523/coplate/migrations/__pycache__/0003_alter_user_nickname.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fe8cfad0d97b8c82a9e8154d424d4e92d0423bc3 GIT binary patch literal 1090 zcmZuv&1(}u6rb7MY_i){YZSzfmRdxOha{v59#l|^f*-A*^$?X|o0)Dm-R!2bNwFYO zq(Y?!>!~2Lr&1{`=s}@>Mh-oMy?QFiVM}`|2)@~DT8f>SeP8=#=J$SYzIS!$2*%&v zug3-?g#HMpJz|luI|#-iqKIM}m|$NM#XX+&sR$>Wwuv{azoV-IlJ${SVSzmH!o3a;=C*&rX1cx zB`P9nG2T9aDl}$cs?s=(vqVvA$BSXD!ZYzkVimBiAK=~4jv|J8I;akqJACa~8!G^h z7u>RKRG6R4X0tg`^%y6PRhV#$67v<|`iTQytvc3Zl~u38mCdDJjUStR&5s++Z)?q! zug#^+zQ+9L#_URSdA7OysWCs-m|sb6pM>0(shEF)aqe_GdkG9$p2mzg#kb9|avPG*pK6BW0d$=%4_%nc9^N{0uMi5SluKA8+~ zKR^rt>}UtldK`mm2&0QWUo1Y+DY9S!>sa^I@$qSzju(F@jo;&!W< ycljl7F?`-Ah(N{|L%sNX4V`PPI=WUnZUt&5Rs;0ESkSk+FYkySd&m3@G5iBpx-F#u literal 0 HcmV?d00001 diff --git a/session_240523/coplate/migrations/__pycache__/__init__.cpython-311.pyc b/session_240523/coplate/migrations/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..872af76e98a4e1923503194ce58a86be5a8b2e20 GIT binary patch literal 179 zcmZ3^%ge<81b??ir-A6lAOZ#$p^VRLK*n^26oz01O-8?!3`I;p{%4TnFE{홈으로 이동 +{% else %} + +{% endif %} \ No newline at end of file diff --git a/session_240523/coplate/templates/coplate/index.html b/session_240523/coplate/templates/coplate/index.html new file mode 100644 index 0000000..389410f --- /dev/null +++ b/session_240523/coplate/templates/coplate/index.html @@ -0,0 +1,19 @@ + + + {% if user.is_authenticated %} + 로그아웃 + {% else %} + 로그인 + 회원가입 + {% endif %} + + +

홈페이지

+ +{% if user.is_authenticated %} +

{{ user }}님의 닉네임은 {{ user.nickname}}입니다.

+

비밀번호 변경

+{% else %} +

로그아웃된 상태입니다.

+{% endif %} + diff --git a/session_240523/coplate/tests.py b/session_240523/coplate/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/session_240523/coplate/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/session_240523/coplate/urls.py b/session_240523/coplate/urls.py new file mode 100644 index 0000000..3ef24d9 --- /dev/null +++ b/session_240523/coplate/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/session_240523/coplate/validators.py b/session_240523/coplate/validators.py new file mode 100644 index 0000000..177ef6f --- /dev/null +++ b/session_240523/coplate/validators.py @@ -0,0 +1,50 @@ +import string +from django.core.exceptions import ValidationError + + +def contains_special_character(value): + for char in value: + if char in string.punctuation: + return True + return False + + +def contains_uppercase_letter(value): + for char in value: + if char in string.ascii_uppercase: + return True + return False + + +def contains_lowercase_letter(value): + for char in value: + if char in string.ascii_lowercase: + return True + return False + + +def contains_number(value): + for char in value: + if char in string.digits: + return True + return False + + +class CustomPasswordValidator: + def validate(self, password, user=None): + if ( + len(password) < 8 or + not contains_uppercase_letter(password) or + not contains_lowercase_letter(password) or + not contains_number(password) or + not contains_special_character(password) + ): + raise ValidationError("8자 이상의 영문 대/소문자, 숫자, 특수문자 조합이어야 합니다.") + + def get_help_text(self): + return "8자 이상의 영문 대/소문자, 숫자, 특수문자 조합을 입력해 주세요." + + +def validate_no_special_characters(value): + if contains_special_character(value): + raise ValidationError("특수문자를 포함할 수 없습니다.") \ No newline at end of file diff --git a/session_240523/coplate/views.py b/session_240523/coplate/views.py new file mode 100644 index 0000000..06a6d54 --- /dev/null +++ b/session_240523/coplate/views.py @@ -0,0 +1,11 @@ +from django.shortcuts import render +from django.urls import reverse +from allauth.account.views import PasswordChangeView + + +def index(request): + return render(request, 'coplate/index.html') + +class CustomPasswordChangeView(PasswordChangeView): + def get_success_url(self): + return reverse("index") \ No newline at end of file diff --git a/session_240523/coplate_project/__init__.py b/session_240523/coplate_project/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/session_240523/coplate_project/__pycache__/__init__.cpython-310.pyc b/session_240523/coplate_project/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d6400a17ab5949f72ef8608405ec3938708394a2 GIT binary patch literal 160 zcmd1j<>g`kg1=j%(?IlN5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!HserR!OQL%ny zVqSViWol-gzDsIxc1eDLzLAN6sgZGfacXgKW`3T2a(+QhVo7RzK~a8IYI2Ewe0*kJ dW=VX!UP0w84x8Nkl+v73JCNbUOhAH#0RZ+xCRP9d literal 0 HcmV?d00001 diff --git a/session_240523/coplate_project/__pycache__/__init__.cpython-311.pyc b/session_240523/coplate_project/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa1e58f227558b3ec578e46e8ad1cfffb30feaa7 GIT binary patch literal 176 zcmZ3^%ge<81b??ir-A6lAOZ#$p^VRLK*n^26oz01O-8?!3`I;p{%4TnFK7MG;?$yI z{mR6=^o+{X%shRU)Z*-t`~rO=69ZEtlIY~;;_lh cPbtkwwJTx;8pR02#UREx_O2bJvShSt z+US+P!2|Hd58%&ec;l&mp#zj7S#n*s!zIp2t8+i!IcKGCZLP||-=DvJJvhD2alfYz z^M56H_#77f4KA2N9Okj$^CJNXJVykw^gaKh_!D=ue6);8cnOuUh$=%4ofvX>`DY$g zaS5%!z6|?STtRC%<%qZn*Oi}nkH@P&h(jKo#B1mjK8a6}5?y~=I*&KeCcc0#4h3`pZ=s9$654`w31lwg%jiwGU%_u8 z312~1VgDAaZCGz(3B3dBU3?W?!*5w!ZQI@9Ij*W6xxp}$C}GSChEy7ak<<^zzRQR+ zj>03-XHtHbtJMP%kO){<>K#khaHf09#Un3}D03s0OJ0*E6s$?P@w@U4=vDc^dBJBFq zJUb-PVB-6d?@=a&gBNMJ0R~6Ji=^*de?sX0@fDH5oTI1E7+j4{#J0;0((O-oYk{}z)a=?y zd}eA!?uP-3yq=sv8lPUIPQc^V0x?w~0b|EwLgVubOiCyPm|ta#fZ+~7bm z5s@?SJa#NwDT=UZ&3N(M#R&79x*Vym69>(O@{G}{~#HWZ((>@d^4Aw%}ZK`*I3Tlb9X^_hW%?43SLc2 z%6m%V3(ZgyQPn$EQc>D%C)<_Hwym3n6)zr?@?$#mWOqD<8f6WTlrb5&6Q9k-4EJ8( zNWb-ApmyUb5c7RaNJ^StOehOSZI{x=VTA7& zj6@(ovedO3aTyL|XvBKFT4;AEiQ>yS7~pdhV&YSI&l^J9hWj4zaa@eeOTf-5-%2(1 zrhO3aE;d;TwlkA`c@zqz{6vRZ!PJjj&wl|2xTK*^WGyA<^2xFnVDcncCMj`0-YjxS z-yl@BykRgI!;58vuH>!mWReaT8+iFk#=&7go-P5BM(ui1cHp`1I7xX72e|L`A^|u_ z#c|R@FQrEW;`ojvr7;{$0YjBN#nRH!Csj*pbTr%fLVK7jtJ+@oAX!tIP4j`KI`>S= zwvv;&Vc9?e0`!Z8%9d_xj;CYH?WSUDRZqH_g%>b;|V*#$Q$x=_&5bkflQXN#;nvVF7DavDtl5^WY* z0I&skgHlUt?P(pfU2tZA>qZ-*?7)ctcmeud4P7dP(n9KBbsAKj$@>L&O3h`aD9$AZ ztul`ly7NzJhG{%(nO*B;m91Hj9nFINOdBADR8<~Yzi`nFXz=XvtWi%70a`zXkG{iW z;ste;&`0nwRo}UL`~96=C;womFT4_F-#_yBIH`OBC&$DmpQZ0}is2%1tE=lvVp&`g zh03ycvLc8pf++9;UlD}o;veF3aa|}2e2EwTg8drMo{LoxMBrC~wG7-P@mWUWMLwga J_t~$){|!o1=h6TG literal 0 HcmV?d00001 diff --git a/session_240523/coplate_project/__pycache__/settings.cpython-311.pyc b/session_240523/coplate_project/__pycache__/settings.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..306df79b49b9b3512070dc58fd1dcd192c858af1 GIT binary patch literal 3407 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 S7({;HhyRA*(0=1^{Lg=NV6|uf literal 0 HcmV?d00001 diff --git a/session_240523/coplate_project/__pycache__/urls.cpython-311.pyc b/session_240523/coplate_project/__pycache__/urls.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6faa3700ae67c8620c768f156c60eafaaf631125 GIT binary patch literal 1099 zcmZ`%zi-n}5PpuIW4nn-K?ov2Riq}WBGI@ibU}y??TiosDg_D4*sqC$e?;#&RL#^e zV~0wNY(c2~2ly`>$%EwyiHR+!Or5yr#DYlS^4`gJ_uY4&&-tQhD+uiKx3@>50zyA{ zkXu%P;HoAd^a7F^^BZ9(AA1-IadZPCMRoW-ImdBt`yd&aKpDQ!hS1w=$!B0^8i zNqadf8pFH`xHHR;Mex{`$1v{#?#!0p6u=dGr5s_amn(}scImP_7J&us%rbrryz;ki z45f=4fb1JfduEy{i~Nh4I#RoAueMO*=19^r)LP`UxdLC&2H$qFjEWX8Vuj`NV;xXRxt2G<3DZCfjMxv+Mlb` ztxTq#-pyMfK|93A0mHKCy5=D4W|E&bwDgAEgEtGBAS$HJd&)mdTAC;Mdr=G-D)IE~ zdHN%)h&4OJC)BZMk(ac56$J@I*j|@f_gLUfjAx57DJz|AAr*8I7u9c@=U=LjKj8=h< z|3ew~Q&A9v1U-lrPlD>vvXh{#Xz?UyCt5sH1xf1Z!Kiw+d;a8nZ-O^syzw0?kh(QG z937s$n`pIIt4(k{#`UZasT+y9Ho70HYth4(k=mN5typa(mF=k{N~K>2+;8sY+>v@O pkvAiGJ(f2oawC=-Nx9CUDu=2Zs^&75%$%-ODuvS$|Is_Ji9aw#FW3M8 literal 0 HcmV?d00001 diff --git a/session_240523/coplate_project/__pycache__/wsgi.cpython-311.pyc b/session_240523/coplate_project/__pycache__/wsgi.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e8c2c655178cb5335fb6a6de8d91efe1f21523a GIT binary patch literal 714 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 literal 0 HcmV?d00001 diff --git a/session_240523/manage.py b/session_240523/manage.py new file mode 100644 index 0000000..27a4825 --- /dev/null +++ b/session_240523/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'coplate_project.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main()