{% trans "Welcome to your new Wagtail site!" %}
+{% trans 'Please feel free to join our community on Slack, or get started with one of the links below.' %}
+From 51ce6379c94edeb00849a55126709c33103a4b2f Mon Sep 17 00:00:00 2001 From: petr
1efRX;##?QUC&C1zEds0!p!8w1!b^-0m2-sH9%O4 znoFTb8;1*MA6il^kn|ELp?XoxRgsS86ZwoFQ_DIc@35$bj!32|&=d{E zcOH*`hYjI;Tva~V|t6BP&!5*6_u%>@^LAdOU49K|23z+Pc^GsPd3MI^=ZA+(J{}M zo1vl6 h=VWdi!3Qnt|t}KM;2$f1CGKqM+g;-r9?Y8J1 zG`nsBW_y)*#7g>!j-SmLuP2nrFi)rS`c*=8^Xt@-4qu-|&38oV(hN3VAGFN-);8vj zI_W`Pr=XT(s}2L}-rb?0A!g&65$HyGw }Yy= zkJ2lV^e--7hzW@tr;i{VNw;+$Jv!p{l#QWK9Rj3iil^nc(Y)gKgvQ62r;qCmidLAp z*7TY&hXgEos-=Y5#yk7Pi!r6O)tbc)qhnsv6R73bs;^$KyF*8gFpCsy{d%d`kj1)u zeN8UsWz$zj8$wgy;j*+UKLjbG8;gu5G&aUGC90`zrdEr~@Cbdfr0(#rx9MtoQ9Z$3 z)reHB8umwtMBDy|*xEf5l9q}x?7KR)Wl=o;Z#t%dUy%S3Kmter2_OL^fCP{L5 &FNHXlDF{n(C8Ev7T!sUTCoVI$56}aQ#`N@1 zUA|H(!5M0h&<{H42Lkm_a=g(H1HMTDpO=^93_beTlWx-TU}R58@4_VINM%pz<^z{) z#kM#Da(ii`;R#*7%)H?UJv!D?COt(;v>!$5Da~CSS!*w1=W$ZwF-fBpdb-{YO&ZS- zZ=Q>OZl-7Dwg&lv99TWSQFn*L3}d6cM?G2!mR9I@(VC3NTl>eFlN&YVB-Lm~yV1c~ zCm!wIGW4W()fB2yW2MV+)Ua~a5h}4DS4k}G>X`1=X{ZtD6&jGPytbNODV7Wu)^ty* z$8DwVeuy_}vpE(#p+z_kne7f``;tx{>wL6VGJGAAtMGKstqE{Qd!VkMVj!ATu+ zu(e3%&_bjLd}E#wFwy=?##5yo>MNCcgB->dGs&F5<>E >2 z26D^R CW<{+OwM EGk(E^gL*ioJFg1CveqRlux-s*}-nZoql4DZ+-OMelY3T^uh{HdnL3|-sNCb zudi2XP-)s_bG(plJ1ta_>J4)BWU*{K_XCAfDxkgwvj#b57zvx{6W?|)e8O-^o<11T zEH;S=ImxTAOw)}N67e=8p(WHC($Z3=5fDNyb-Mu-YPOG@$r7)^)MI&C3o>0Q)}ZX0 z7#58s+@Z5Wo7SM(I`gw3;d)z~>1W-C1tw0*0e_}1_m`1s)O5UUdY9&NB4jzK* zwT`r1uVq*c7%z1s!#}KuQ%O0lT!f&<3#w+TqdzT=9x8TIQHCs2Y*JEF0=QP@(gU8* zts_j6r6a8=Nk;~Gct<%YyvXrVE|yA2`l)^0EVpWO`;dEg(mj_1T9;-VTz)n(;vwgo zpJwPNY|7g7^?r+{p%><^+J_nQ<|Czgs@j-H&2@{@>c%qb!;R@G-S)OB7|&5hH_jb| z3shsw#%pNpTNon3X=~<>ZpM3Uyx+Q^{N*R*2 #AOR$R1dsp{Kmter2_OL^fCP}h3r-+Fa@a<**$?hM`UxE* zfCP{L5 x;75Z$7ko`{ zJ~$lshrq7{nt@jZ;( dhB$(Jh!p==Y*yO?h&0T*T8u?n2>y28GzTvQCk{&}b(GX{93Y4Z7 z2UJV-m=;3 zrSf7$J+l60mKH7g9v`Eg9%t$tE#EGc7LD0WOQp4$+F3 z+hyuk8Kf5O46%4r(oV)mO_-@+JHzgbp9sp<1YgtG3Y?CzTkgRay+y9`beXBM{@j z$PQwO7EEj)pC3K}VJ9ZH)7;5h$;byo?`j!C!aCaJqYp#s@#*cVbzRb{##$>JR}@t1 zyC|rIu~ayA3>1!^-A+o^B{?aqW!ljUq#es_Yn5JmJ8OHfHD5jr(PJmJ8H%d~kp#wa zYW{pmNn$9U7DSR53#R!WNkWp*)Hba^nm>u(Dv9R#Z~`Kqm}F@QXrCYj)%$y^AWDCs z6!g$Xg22FjNhRV5pKkM >TBYPb^TkP^peEs3KVN#pE)0OAZD z3bZUE5r{!FbZi7d`Qv_S#agvgkqUC5xC&L;vPSa_Q}5V8NRT+`SIyD_TS-*&G=DYG zu#!l%QwwY*Qtj3Jl|-WvNHmu56T`KTRti!8%~Of~zz{@_^8K_VHMv|UlJ_>ZO40Ip zFbwfV6a8udTK*)aYJAJ@!9gXiYIn<@#8qu>`5n9;;vO37C+4<1Nkn35%j5n75Njyv zrdGB}L%u1cIJlpxxM+Bxl3!bu%Z*kcG>;?uh+U~Z8jHM`v0AGv6-$OX1HZ89Ikp!f z^T+$N8f%ZP)t52B9wmWRTkQ$7x-uk)-UkVeB>HGgwa2FQWQcly2%-)}ebjP!H76HZ zg`?jhyCHmJ)TbKTilLgR#2HZHsP?tusFu<1`*%T{!9zY`QY!*6hJHD?6G9J-d8rjO zXz(?7%XiBV&ExP6h;=09Rc+C{Nj%jY&Fk=XC8lbT=1pR%MrmG=Z4h&0)JyEr{75un zn)aP%Ax`Xshg!E(sjb%6a;wEUd6Rj|M&cdT{S!e*k{b7@rgkP$4K^nWD9Kd2JCmu_ zo05(BAsK(%LkiKEh7`q=V5A=s9OCV?L@Sk5namljvJeltW{CDdv?B?-S_)%C)qXvy zPl>8pZj7qh+=@Evg{UKAc4DnD9 glgwHXNKW+2VJCzhiMiBVwC+qus2OQqhaE~xH80JZ#8k7>ydrjLm5b!4`H^TO zQ| I`~*{}4lx5g+) z00|%gB!C2v01`j~NB{{S0VIF~kibipK)+)jlZ8X1m0H~%a18mTD+ReGk*{R`?_u9# zW534!1N)ck$JqC q|a@B(~0CDy))wNuySYL7U!M6d1#CIznNp!mxe0P$| zWt9E@CvEIE;0VB1*e|f3WdDx+%kKn~SVkm(1dsp{Kmter2_OL^fCP{L5 xff#IZXZJ|8~+|K6x;v=Rv*0VIF~kN^@u0!RP}AOR$R z1dzbocz*oURNwpEZ}EmUqUV|BTCrS^ZyF^m9&)T?Bo>t? zSku39O?|wk*tk`dMJ}C5=L$<{ajjguzJ*#?wPayt^5Q}^JUMeZdnFv%BGDb15DCxD zY^fOuACAz{LWv>|g(Kt%o7%_r@ x5djBz;?garX(G%Lx@@)=W*g6Vb; E(<>CtAh-qtp&DX7hH=vT}Mra7=V zX!;o125Beo*jI5?d6Eb`tX9k?(}En2=ew06(qk#M%wX$cb(0|Fv`=|LCr&VLIB7Xf zX`P{4AqsAY)Osy_=ewG4#xEvD}cMhlOWm=fg7#Q&Zs!bCc8KbBp2g*~Req!u;&y z3 c8kg_^b1JfX=^W@E&%0gLt0+OjC8@;skQFPZE2 z@aB!PJ+ayVH>R4~J)za}%mzGQ*EAK8#z3BbY zyF=Z&mzYu!_N_6XxzOC^37tRBJUwLDH%w`_F#plbdx}X+Z3KFA>7~PHmUpHyHZ-%H zJ-0Vw-I1k2Bz!}v!Sk4FhXpQb>~K}7USF@&pue{wBocazX!Fv>8Vs%{E;F|ebhH#Y zjq5K?(O)5(3!g_wAS=QEvq{$ua+K)y1sGaE^1i^ zK!)W+T! VtG00|%gB!C2v01`j~NB{{S z0VIF~kig4 bNS8Vw9zn4P=V;PVD5 =?*HxVbL9E|&mkiufCP{L5 HeSn3i}22v+QT!D}5~h;z9yQ00|%gB!C2v01`j~NB{{S0VIF~ zUUULJx63x*^TEyh*ZN%KBO@1z4ZF|jvhDOSQlVh?I~_j8LmW48T*Pq_$3YxBp8tQ* z>kth<0!RP}AOR$R1dsp{Kmter2_S**OahPDciRpy-q``4cTd0@u-Uvmn-@@U9LJMi z`(?S5ufSWJ8kO*^%33X4me<3VmACMP>&1pVv;v`H)EQ=Wlj8#epv9WC+Rp#mwo%v* zf;$AiVfqanB!C2v01`j~NB{{S0VIF~kN^@u0!ZLqB0$ddZ+iY;-T&W9WkOq#01`j~ zNB{{S0VIF~kN^@u0!RP}Ab~p|0GAlp81~CH_>VtG00|%gB!C2v01`j~NB{{S0VIF~ zkig4?K#+06O#$8kax=kPrP81e`ctm|AAXq>5sQHYkN^@u0!RP}AOR$R1dsp{Kmter z377~3ybsv=7|G^-kMlY2hgetO?T%lv|9_0+zuEuhzCW`4yz@Ed7rX~NA2lW0@~h{^ zoku<3L_MKYig`A0!uhNxG&;&WTZ9b1 3U3q#zzEYFLs 1I+41>ocz*oU zR5l!G4~&ElN7Pi}HThN~d_$_`SESnEI2R4i%+7~r7N(}c7v?6X$LAKq=d+6sg H>*W39RlS@n7EB1JfA_6iZ-*&tT(igSY&Q{dM|I?5=F6~&=BE6 zL5MA-xm-?MD;KZ##ISx=1+y?Sd2t~do}4+Iy%LV}miEr G=TKUOmn0IWWG`=$+W##HlMoAjZXtOL5dlRy;bT*RB#r=wo2NWaVMLt zGzcLBhew+ez<~!2Yj@6}dtT6{;;ERx$xDShVe|0wVAGQ^cgJfp=}7c;qIuF2l4a(Z zQ97L5NrCSq?zjp^9g6NGDXDa5_Tgf=Aur3d)_`Iho5JG@^RtsPkjZp*W*&OWrlszb zn#-Qa&ShsNvX|OBYgZZ7sA%{!NjXOc*vXm6`N{FAsYTT@d)nA-H_udBYpf_eq&MYg zv)+8f6S{nvc{ +6*ow1HNHL_(jW z+Nzt3kej2nhR`GSzGd6bL4O%#HlFMla>&>%E){F_hFD$8m5TKhxgbgnQOG3 |Rn9XT*EeF# zSx@NDAy_8RRzRMGB@%~lY5OwKUZ-tggcwO6RvR_z&Sh95hPw@ nK(T!`(vv<5K zHmqxs@g%n-2yN>ci ?$-ReCF$hOF L3+o_Ho(RF54>s9O?0Zi5Ki J%*`I40msVUDFuI8S}dXIPFx(uog9(|KD;?j}edn5 0p= zU>Jv8+5i8ujs0iaC|LXu{2qbd2>jAp1K= 9NBW=XpYGq*_ltek`}X=i>f7**dOzg7>E%41^Sslu=-J`^fP2~9@A{yt>N@KD zvhy9zC!GV1-*ddiF=+ps{ip30?F{pum>e@``!mSQ;%6r5vJEec8y=p(aj~RWtyI@a z@Jv1Wyce+~nI1AEZ~`~V^P_w!%qNe cuj#bZmyV(Br8dc|wUu9$W#& z>d#{&bCj>hZC7A~wr`-eps9IgvhALxjgU5>XABn6JrDx#V$CR)XndGLcGW$3W0j zlR}0(xg=jH$YQ;;w!Bo7OYlU*t9-^%CZ0+P>G)BQ8EUsnNQ MOeI|Yx@x@mmU zM^%DHq>*QWNaR^JmTH`kif0}>0&3GHwWRvU7yX$c;^u84l}@G7=`#<4R@S7IFj`eC z7aK*XM4oynS=p3ICe!hFCJH)7OgeFcj%CtBES<_cei)L i6~!cwqD@DDcTpx)~iJb7nutn1%+PSJHPr1kk#4L}zXv=san{ z!?jghWxWi8EYw fC@i8%9%Tue1%x zwHle!pbf!PWQmANfKBo7eh{0~#FEh8udk6ufU8SEx y5_V+DQz_^HkE3_x*$Rl=DG seABEWcEemSMuF6!TV<4N^$~9+Eij z1Sz1bN(s7@x`U(h3JgJ(*2FVhjOQF6G18LQWI%vSV+k&q8M6aZNI?e#Zu11NWa0P} z1L#J~=r&KtCHQ!T?Ek&&`)%yk*e|hv%l>cn X&rw;K+ifQQQihd+pi%MAxFz{BBzBM`*H;f4bX z;9>W`@dDyOumAV5|INmJnf)~TKiU7r{xkb`?4Ph7d`T1#jX(lO00|%gB!C2v01`j~ zNB{{S0VIF~Y&MSz_VSF|>vh3h{jmRs0|CUt1qTMGhYOAb5D$k_^>8>854+t%V)*R# zfP31u!@k4j{{G;7tk?A`&aVgm$oWCXtL?vO-w~Mcuk}CW`$_M6Jzw{nWv7^9-!|yM z_q%=--iA8HH2djgu?=Z?8Lkl}f5^q6@~U>RjdI;JyneBgy9zIWCoe|iGs%2DlT5(p zn;q#E+F!ib5#FONymS%3{h24Ueu8N-9q)`Jmz%Y&0+gz7`PB`$WOlhC(u@7!<;Zd( zDJ|ub9WO`L5*=?h({Niv`&EmZX?MOD(r6ZW7o _-7Qo&UUF_AHhAb3P1-`J D!1qa_;cBsG6d_Grl97K(KrtwDE<+<`={37InNO zoW4iAooPp$wig^1uEIszmA1N5ZQA<1@K74^+R@E3(2LxgZZy_haEHzgF*e!&>eox; zN`7)(7X3~~4Q22U1zr2XMzVRy6B-&~nkiG&=#gf+RmNS_0=Z~Sf15kph^4>HJ*>P@ z7b=5Xg}r&C=*F(*oF{ZC%4}q43Dp{@!
NSOydu%SXKWMC^VQq;>f5`yrsxTYCzy?kv_`rP*z`hVn4}7EfzRjp zLbr$ywbxL$Xv*c>2EDBZeboXOI5W*xc|tPS{N&~~>zBrh$z&!Gmt(nZ_8jTaYzxV) zE!Pu)@rCA-@XBTerr&|ht?zovN**qOmE-ZY7dE%ekUf@V%M7+ISvQGD^!DS;S9(Gx zPB3pcNe8KJ;Jf)>Q468YCf%al)o|9;>Ts@7DTQZd=fg7#Q&VJuY2D`+36o)|QCyYV z!quDTuGTB%NSNFJX$;j`?B=tExoEx39bg>2-nng30;AhzJaQebNTT(uX|=L4lpHc3 zFCBjcwBP`&al0*C+OBwRTjMJ8s2I=XGASvoyvJRiwbV88<7(ZvzpT9@TH8!c7SOH5 z0+~69M_V>ZYwl1XXiWB!m#nw6$QMNpI`2aBiI@25eui4xzUSDoh|!Jh%|%aW7S^IX z9h5pKX+)ReONm@62@4O?zGl9C(CG*_3v5yw8g2HBEdjI_nP$K^Qf|yQrSAI|SR7sO zgrZTVd5DfX?K6M-x6|!oOnV@KrY%ga$+z^CP29NpF|1voooMl4sE|5`1LKmz(5KYV z1{QLD)4}-E`~N>`gMI&3;R%4BgR}piV*ix==(ojA%mfJ_0VIF~kN^@u z0!RP}AOR$R1dsp{xH|%5gAe!r6W2prmz%mS;yRqvbr9EXZ|(nW+h|rCxDUba5%`Tz zA9Roa5 n%fZuU|;W!Q+JI(QSk7K|`J{b1@-#H|(q(}e>AOR$R1dsp{Kmter z2_OL^fCRq72pIPN4@1$9!td~R7y>LV5 RPT;tgrZX*gdvE#>WI8iBwvt)EgHZWdE<;|Nqh` z6 @s^G_{reE57vSwf_;Gx1)d4S{U7t+@}KDcV*kJEf4qN3 z--r6%&=>Rlqwkk}>%O%2tKN5eU*!#Z{>1a+9?3K4{*?Pi+>g3G>-r^E#T9XW+WE6i z$$7x>QOD~XS%=;J0s9U6!^}6CUuIs-?6&<8WNG>HXvJkalo(%^mK##BR9uyo 3nIiDaxGV> z%VJqtmFw0TsYE<|ZWT1L9U2L7Rk|h s(2Rj$H^n7` V1ISxE>TwpemZfI^B-$so}J zp;@shheRU9C6X5lK=86gP+rZ+1p*>L+g5Sume^QXTg{cBCx~mc6116{Vo5G9H&(2Q zlZf%WkbEo;l9L^hagnOGb%0IiCipa; 5t3|hEUXOSaJkO`OQ<9}duY9?f!13u< zgGP&Q%Z^O}$7AVODn2f{Y{SPj8ih(8@ba7pAJ$f7=yY^ES&{0NK;uFx&c)8Z3M6LR zCAf?(VH{F6AsWl1<7s~U$xeH?v@W*k_!dj?(0Agm1c@P&Jt=Wjt}R=R8L@aW$!8va z1*DQqsS=_@N3ykQsUj8Rf|$D{uGL{^tCYopT#_5IDCHZ)O4+Kp#o~N2CR~03beB!K zNikok-qK4|m20cTdL4x7Vxt0qrIJi_E&EiA=Tdy~)FKF g;;N610M%M{PD*@p*6;;Hf%k@a_Ka1NG?F)R>M~l zZ`$l(P>E#{=jI_@YY@m+YBCHe8BwZMOScU8#Y(Lp*NWw3D} $_@D3 zrOC$yj?1JkoB@?Z6BQV g`nq+-zWmzT-K-0~`I zc*-tAfnzC?j3@Zm!zV%JxGn>0tTpI^uz*T%Nj@nGJpAj}Hwj0DL_87a_(vf1h@N_r zX$F$SV~J!YcEV*lFfv|;f|9wNLQuC3miY)mQb?p8cG(6J<13X_n3Om{qei}yI=4*7 z$CL5o*l|cWq9xqaJU+vxxb(?m&=68uJ*hpJQ-=9MO mF|?r@MR~m@*BiBBmt_(t!9pY^%%(x9wa`~giKVseWUby1)r<6@jY|!YRK4{c zP&mq^k{q8plLEnPd)Z ;8 A48Moqw;z7#>jB^|{vZJ) zfCP{L5 0wT@oL=#Fb~yO0#?+zCLlQdga#j;?#|+ zmnK%1%TJVJg{$X^jp`FOFUOW4`D0h67q3oD#n%?El-4g?To|oiz4gTW_0f8I?#i`m z>Dr~K8>g3wnNhwjuE)<$UB7&zmajiCKCyi9)aYgYsby(q=Hg=UvCE5vS$^_~i Y+f!p!8wg)BrW$W; 0EuSV@+8;I9SYs=k3$z{=zaIR7*wXB3RaBCA>D6U^ys$PlT8Ijyxrl4ua zHycKYx?EANlkJ{&eFZN2FP7mRr1Dz5Q@bt`+HglvJzpzU$^Ar;usIj~!tO{I?mCnk z#Z{SBCKN)xSuH|ClN#NEfVa8e`3f`&xWTJ&s|pKxLxr>&$z1kKb}l oRe#YJK4|+ pm2kuy+$j(V&(3tlBgJl2E4&uX z{wYsL0<#vZ%`$@)Gchh#NDCe29p1vcu0q|-G$)A=bB}sLGMM|MwYi-YAqu%fp^%KF z%)kz9VelqW-A(RHM2u!`c|sx>ebL%zW7mZKEau_vG$CGCGF#lgg~i=;x|?fCL2R{s z*b|xrTSu&IB?Gl6r}8|XOLrL9w}pXiiMv}xCj(;2snDg-ZgaI6j>wyR#sls}o7?tQ z8++LKdyXHr{}%I4@WuSkW^2Ass|~8_qi)}i+M7~y%@Z0OWu9K6>jk5^ p-W*=F4nsz7 lpM4nUj9 z<#Xwz5KowmTI}BUx{GwSEv k5oZM72ZT%)zth}})@Ohk-!|L*f!({Hr~)fVclO+j}9wW!oA{@z({x}JH-tT&zi z^1RlY=WRCUd+7@A?fW{0Y0^v01Hfb52V$*LTP~$GTjAj$Ab1!<=i(F(0ln-F0a=X5 z9Y@#9bCY3bV?K^$?ws26)brAzwDn;k!;Se}HZZXIQ|EEZqh9pLnX;_dq$qcING`fD z-;_L|^%G2!v0Tn*D6Ae;A %0VIF~kN^@u0!RP}AOR$R1dsp{c##R<{{Ka;0L&f f_t^$~zJURsmkoH~Y5QKE%}bO9IF94z z;CXQ5nQ&v|19+Z1z^vNuvmIc(vje`QV=wtclI~HGGHOzrjU*<&_H&h0c?EvQs6)RV zVfJ>(Qb|Yhayo2`!{M;`O#A-_!3cc+AE_VwK>|ns2_OL^fCP{L5 ?9$*y|_dTw2aZ(o$TO %=|nP9yRlqO@D(Yx7SF84pIRm7{~7kLZ15j{kN^@u z0!RP}AOR$R1dsp{Kmter2_S)cmcRkWxKH2&Zj={BxmcLX9OL81_~g-alH)QNxFf-4 z!}tH)v$czcBLO6U1dsp{Kmter2_OL^fCP{L66l2hIscFQ|6WL893+4QkN^@u0!RP} zAOR$R1dsp{KmzwJ0o?!JyLE?_BLO6U1dsp{Kmter2_OL^fCP{L66loxUjN@KDU62% zkN^@u0!RP}AOR$R1dsp{KmthM-X(zN|L@(pL(7o>5 kchP0!RP}AOR$R1dsp{ zKmter2_OL^&?^Dl|MyA?;~@bgfCP{L5 d90?!+ zB!C2v01`j~NB{{S0VIF~kU*~l$n*cV+5VS}JrjIS(C`1e|AGFKeNNvM?>jsPT(_M+ z?D#83g!wy&Kz^J*Yy0n>P%*`9$i;F&zPT 6@IU#ZDrL#kh^H>8Fv<}2lfTyBVs zTUA*s7DP@;CDKcUJdJ&O_ieu?w6MTD!#1Q`Nj6F>*D7mOsama7Zb&7fCsLn!FLBBf zbJ_9vY 3kF1G2W{TY&4Ku!0dv8HsK@e4F)zmQOGnQU|&9O6}TGsj^NRtM-Mm z$)tGrmoQ?{!b#-o-5ZH9ny7s-YIYV-i$#=48_>Qh_H(y`o{$LkU)uqhfngW;?ZwH{cGAEek;O0hah7mwohH*Kcl9EDa!_*>^h?OlH zqcL_{MOfyub?G!cQY+BHT7~^K4vAY0M5OV6b>Sk6;LCC?JTp5Vo>`ch3SXF;oF1QB z44=;~hQ}A?XD4R>-*k3nUh68R5z|6qE_)_Bmz|l&UfN hb#v}OT`+G)5kS81)WqKxlqIis5^N1N-n`#hl&CzxlLj>$@^O=4-c zUS3k$m|;@VYQUKMuBg{5wT4)!737+s)KFE1mbEzzqtT=gy)glK&GfB-8?(?-^_C48 zbzNJHx>adeZtIwd J8CuR(#CCG zB?
uEE8`v10f_Q7r3>3v^-FCh2^znl)1 zt(O%fnuKMVcqIVKvP4m^M2jyLMV`&`*?S9MNv;KADPTc~_Sp#pp6`;oOx`Zd`7X(& zd7H^hlHN2)le9DGADOvM|H!ntq-oPhn|9jt{z!Ul(wW@l;%WN)_6-Z{0)%8cm8dT) z(A?ked7k|~pWo{)K%jj$XGylhD(>ISO-34C*MVxEVeEs}eo`|E1=wfk{)2VX{O!;9 zf|o9NZf6}cgkvXWPsLIBdV7ctTh`mO#y4h2=Rog Y zc6)nvX4z})lQK<=`Ji(OtxHZx+@c}3BbM` IYlX2<>A}M zZtwbnlarph;>dxau 0B(5OEj$o%;L#? >8p_qCV^9zOX{eRk>4g3HB5C8!X009sH0T2KI z5C8!X0D%KdfW80U8~6?vc%Oc7+>7*lik=hn9H-|HJ+(g(p#S3m0w4eaAOHd&00JNY z0w4eaAOHd&@KF#*_8jJpdIk<1@(&yy8K9Ty2Rz&WJJBI75{X3F(|cLjk~Zl%rTx$j zpYj~$4*C7eEug#kncHyBQIF}?+vE52^z``s?Dc x*sp_qeVoUC z$SW0O)!)m0f7B}$3d23j;)(5Qt|(VF{a($U*$jBtuaA-myZ-kC{+y$Kcz^&1fB*=9 z00@8p2!H?xfB*=900`XA1P;^Xe%$X_Q0UWwL{%wQc=O|$dfA)%J%PXD=pP;+00JNY z0w4eaAOHd&00JNY0w4ea2aiB+kH_DuzyAL%F7T~`mmo3%0T2KI5C8!X009sH0T2KI z5CDM(j6l%SOYZ=1c>{oc{r^6F{@(*e1nGhR2!H?xfB*=900@8p2!H?xfWQMn!0Ykq zAMXFq1ClV(1OX5L0T2KI5C8!X009sH0T2Lz2b6&J<$k#Se?VIwX@dX=fB*=900@8p z2!H?xfB* hKmY_l z00ck)1V8`;KmY_l00a&Q0rvX8C-6Q;|L_0-5C8!X009sH0T2KI5C8!X009s e}Lw+ho!-QAXirbJni%h?yQ%h|=*>@_}Ac!Odqg5AM@ z6Xq{6yJd~!+~VBI+|2y^no*d&NSU(+X^w7Sq`I=SBUgw^b3L7%>Z%o~>?jY{GWAow z;6}<*6XjAtx@B)WRjgbmP^u)X%O$z8DHVj=E`<=H@%2nP7R$IAUpG3#+~URTE6tr@ z-+&>0X|at9g@@i&$7_4T51Q_yoE{h3%iBc@VGSN(5vqrZL3 zeNu2ZhQfPF{je{1?wsfITaM9ZnrqVSa+@l)+K;~`ySo~I`LaY^pdg59oAFXDm)Uq> zjcXyc4RY4^R~P55u4bEtfIS(jUwrUE(Doc`*mNDfEZwNm9AS3&mTc@JS*)s?0vlRg z$2MD}c`TY!p*^-8k?Ga-X;_b`RvHszGSZkI!y~`L9deBNcL(aneZf@9^Mxr#KeSrN zuE{Et+V?-p#t?pIlYgfqXiB5%a;L6o%@@smSDz2 DH2&hq0nb>sZfvNk@nIe_X)l2oV|dz#94xOTpN)EAV`d1{hlK_%K7$d=l)T 1b0wZRe%7N7T;6c_JsScD`&7n>s^bx+FU?5Uf2+c_v%)tevWde8Dx^+-6&=w7r%# z$LPB*N;w~&PNnkkgdM51_HMS%(Xw$wa^_^&vLrO{+Aus xH~4@?19= zv}{4Fi2Eea;uZ?y_5b$wHc$fsAOHd&00JNY0w4eaAOHd&00IYvfbIJK4a#Ygo*VSc z9hCf#2MB-w2!H?xfB*=900@8p2!H?xfB?s_@Bi}z{+6SEcz^&1fB*=900@8p2!H?x zfB*=900 AOHd&00JNY z0w4eaAOHdnECIa#|AB3KBn|=~00JNY0w4eaAOHd&00JQJAQ5Q1{*S-^e~{W8xq<)) zfB*=900@8p2!H?xfB* -6&tdT!ElgPu8h;sF9600JNY0w4ea zAOHd&00JNY0w8bz2(a(}Gp_#+KsHDL1V8`;KmY_l00ck)1V8`;KmY_lz>NTV{XgJY z;sQ&f^^xBi=^36K`r*Mp8T|3y|I_>Ro^SSC@_yCZOVvLc7zhlw`CDb9eLYoQP@MGC zR^?Jbx^+|BP(`_zSIUyGEpA9cQQnb+va};tWThm?1tAlU zk2{)dVjs4S0PO{urX*{k{)#UskgTijvhqqvl}f6h?ruv=T|Smh#1e(|R*>WSsB0Ie zy~q|1((0?f> 6kW%?*G?#V=9NI@ |THzO0=jZvCmgg2`me=?z*)@JQjwb zkCHBJNEN4HwOpjtf+ej=w^VzGilhkpDce+T3UW! bxx)NKX1A>Mz`4b_mARSu`8A_3dy&*x^Je1|tPk45(=gc-suii+bx<03*Cm&< zX!ek38M9XNd|9FrwwgJyxvV%2w2p kS;>vMj%7O9`6J o@Y9e z$miD!X?rq^wQ2aak&?EVcCKBfnIoS2`fQpr4s0S}?H{f^SAWVE+#t=O>xRR0YD^cT zI~_^H3(-ito$k+csoNa>jD;C oz<{^X2-4FQ^dn8=aZk*Am7km5@@YNLp;i{mm}5w~M=f4lSNqF5`EUi@tlH3&_lR zEF~5k8#uEacJDBk*0|m0Vt7(6ll3Qk!Plr=7CN_!nAi5-`B);7j%L~p-& u+)>ZKp+o+G!y^OqCi?*oH^2fM z;yC|8Boc|Tr}wh5C2i7kO8cQ5CX$K7dORM9PN$QJyqFWEcp;yV#B?;7kaCgr1 5Ir?h`ad2Z00JNY0w4eaAOHd&00JNY0w4ea9~ptM-UYvB zzq {Nn2TJpa=2+``QA8h<6b#?P#- zEX^%ayoK!I%F}#kT`o!?en%|lH^uS<-G&KUepGu?E~uN%h*YyF$s3!hYt_1v7mLES zLOO)&(ylG~bW?CTwJMc`%C?km*u;{_CL;}z;F{KQ_J! ^qVSgN%k&aZ_Qhc_O6yH@ fWKXllzV#iEpFb4#--b84_FGrD 6UT2b)~#j5wxGx+?HIaFs<7(FOpzEO3>ZfxRmN( z%YEJ$iF1n=v#(e)L04fz{L*4a50<>4B^17WX3ygb&dz%4Z`o%Gw=;Fp`-84Chg%c_ zz18a7P3Xi^pn)ugcvZTk+J~~4i8ElkZooXc?f@0meyYGG5SOVWT$`aCUAWo1V$(3I$2-7=4} z%?fEV=T~#GGm491MHQ;sY>lE#j@weDZdSK)CE8c9=C)zcwiFaQT#MIl`GWbRx3*^Q zf(0dC5$H#COQJ1HW9nlwP%NHKN2g;+qfMJkxzD;zJxw-k!ZmfeCI{9Hnk0n6wQT*S zFQ}008|`JgtU^LG6-%abiKwgiS{LFw1?`-Ii)Sdj_i%m37fdF-pKIC%H|6iD^>ePH zr^)ZGhR+AuZtb^oazoIVdO!HSpt+YcB7anC`(189*q&ABv@bYXf87^+dD2^(vG;Cm z8=|dPVo??=g0jwrV>FgYB$JVt(Mv2N?)zPPvsEv+1!?NRmMQB _EG1I&|aHmOUjPdKjjOqk+N)CW!LqMDY47tbLr_= z!ko&igs9a-D>k<3gyk}ITRjwXI_Kbh?U zb&%TP5(=~He{W!w3w)h^-~j?400JNY0w4eaAOHd&00JNY0wB;mfwi8aZQuRB;OER2 z;qT_{|BIfZZQuTHgzo13|I?{xIvo+?Y4)amZ{RPuz<22f-v8fy8^aO=KmY_l00ck) z1V8`;KmY_l00iz$0 *Z!#gAx&`Y-joehAOHd&00JNY0w4eaAOHd&00JNY0w0us z?fU<-6bttNJ}6N5g8&GC00@8p2!H?xfB*=900@A ;KPxC;<@!1V8`;KmY_l00ck) z1V8`;KmY_l;GQFZ>;HSMNgxOWKmY_l00ck)1V8`;KmY_l00cgC0=Db_4?Q*lf&d7B z00@8p2!H?xfB*=900@8p2;3V4Y@h#kZwP`45C8!X009sH0T2KI5C8!X009sHfe)R) z$lw`nu&2fi|6~6X12=rX(*L*p&-H!2cfF@J`rPoBy}vs2XP#T!j%RA{mxlhh>EuIy z+;iC%oSXB$8&t(yQ7TC{1>vT+p^9>`EEVLklvgW)`CCgZ#rz##Fdp~b4rtDXUquqj z`Ay+QRVweg6mdU2yPTa_$?_{R7v{5k$i*bYPlV(`h?h&Mv>}!G#ibQ~adm#4e`$Gc zVP<)azmi?!XI591<`yZ|LUwWGX+ET#PpGJ6xwH}DcbEpTJP}JK!wvt{#ks4i+3?^Q z?{aW0?&aiCLAq7BQIu6l5UZ-99h>>v^AMsgGP$3jKz?8F+&OPuaUnqbRHa NW;VMX#d|BRBWu+A2Rq2*$QKHIiaYGVZTVOf+ zLUuX3IGep@wOn2)O9JySB!>Bm%xGC_-nqrOmARSu`8A_3dy(jKf8+~R&UtIQ8gGM* z*~uE+&FXhrbkZZ_lBrl)Os}_f;odWF&MjWdzG6wdlh`4CX|aPNOVSKy>I#Kx;@+?? z`1Y*#_J} 0~Arola+r#N7P2f8?5)n`y^W zH09^!%`!9<+cbv4w~y@&`GT{v-ujHax4XsYl*doF_IS4_ch%?D eS|znKPbSBU|QLGFn%pAs((}_Gk{1Nb_qQH4|5rI%{QH$_vqaPK?JQ=A>w} zopl24$Gem57II(ZHYXB4wKw1kig9mk)kVCHIj}k?Eve!2dterUHy)C&& zwfbyh4B0xEu&(6AqOeUH168;#?F#W&JfB{dB0{w!-)L?LD-!oZMn?K>gKu7nw4~V@ z=a>t+KCfHuR=lRcO%t9iYKR>+Clm^EoOj(9JafkT*;$uK-3r?-*Do5mHgD!ylhmir z+sVCizF;=%tzWmF%D&Gk(7tnbQ&ua+`CRL`ueqMo)mA^VZTHj7R 4m zN9?20*|NqdoE6+xUB{!-@U8} $%TPkmfC8 >ic0X@LPdO;K|YdHu{Cp zXGi{e e@468v0YZ!wn*5K$~mPX2_ FMcAJX`CbkXB0ekjd`) zVI+}EB_m5UFU47Kla>%FlB(S}sY }Dri@jPG#|DGBh|+vH6;ZB3^Qf7}tlL zw)@s5Os)Oc>sW5#((D#{BwOR!CE8W<#h*z}M`MZjneU@8R_ob$b!b3xj>hAu==1MT z(>rGGSj@U{uTAJ~Nu<)TL^6K uQttCM`9t5t8v_JT~(gijZ e~~HiUk8>+T;*#uJy{B>!xyglO6vi`KoTj*+6t z`1JBFMOt%2O0ls}&6ASmn_e9UMEsdllEqxPMKND<#GIz=XuZhOJWtWhdw9l`yf**S zeP;KZS=386De9~vYLcZ`H1gDMvA5X(FnN(=JoCa11)6aLN@#PnAxFDazfYW{D#f|x zh+~YbMuz%bV44Yv#dhOM7xoF20*a1+F(I#P?;8D+U9HQN3X!U?4Nv0+xyy7(2`4hi zL~N!)aUC5tYIgZX3|IJCh%03Zam67mV(!FfPBOY~PTCZAWTon|Q!({ixIw|J`O+MM zw1Mhk(PlBy$wcDPHpOuChDh4L)VPgJ>m|KV?VcG6g!lj7%{CoAAOHd&00JNY0w4ea zAOHd&00JOze-Xg-|NYfoPzwSe00JNY0w4eaAOHd&00JNY0(V0I*Z+4z4L%?M0w4ea zAOHd&00JNY0w4eaAaH*X!1e$A)m~5w0w4eaAOHd&00JNY0w4eaAOHe)Ljc$RcS8+6 zAOHd&00JNY0w4eaAOHd&00JOze-U7x|Ia;ie`$tV5C8!X009sH0T2KI5C8!X009sH zfjc9B*Z=Q~7py@51V8`;KmY_l00ck)1V8`;K;V8Pfb0MJvDKg%1V8`;KmY_l00ck) z1V8`;KmY{pi~z3x?~E6$K>!3m00ck)1V8`;KmY_l00cnbek6eF|NF7kpcw=}00ck) z1V8`;KmY_l00ck)1n!K0?fU;c^87MAfAY>Ez#0TV00ck)1V8`;KmY_l00ck)1VG?k zCt&;h|F4i%+yl7R8w~nD00ck)1V8`;KmY_l00ck)1VG>}2-sf#$MyeR@Pi8ofB*=9 z00@8p2!H?xfB*=900`U<1Z=PW-w$%35d=U01V8`;KmY_l00ck)1V8`;K;SM2*k1p? z3val900@8p2!H?xfB*=900@8p2!H?x+z$ls`v3jVO3(-bAOHd&00JNY0w4eaAOHd& z00JM30ABz9VEo_>0w4eaAOHd&00JNY0w4eaAOHgQ0|EB>|7g#9T;Q?MPmO$j_}>hF zeCYQFzvTbrf&c28>;Iv?KkE6*p7(mL^<29ja=F(u_I%y*9bfR$CGWd=Rm>Hol5|rL zZi*YKC>N_0saz4*&+W3ZF7H#x{o?F$c4j5ZugqMS&+?&;kwW}LNG^nUxui-PQkh>| zTHzO0=jZvCmgg2`me=?z*)@JAe0nUUYGNtDl4T* zh|eiX(F#F^;x-B1+25`#y&>hhh{q5Ju5wow=dP}1`Q_{j+2!owZ1x(RysB<$(2N|z z{6$u~tWlX;oLiZjnV(-X3bPkU?si#Pm?*TNFzhRdGWK@jGHUzbTd{qLHvYvwW58 zN~)mBTaxgmQnFblnk~g0Q5DPfK(_iYb;I|9TbI0?Tq;PnDmRL X-ID-5<=KZ5O3oHxi=lYPesj7xn~S@a$RdyK7p1Y-ic7ytNm$vqJ~ed*%PH4p>X> zz32;y=e)I5t;-qhRFPP}7o>u$D&@+yoWCw?(|Dl4C&beETt1dcw6)}Z-k5;q7B6OB z;X`c=9U(*f(qadD)>jM_p>Qp|H|GoHN%-16!f#Zi@-9=JpOz#kAx7E?;(o4M<&KzL zNH={#;rhq+F8hM#&UrtZv=1&P^!7@Bp?Q*TYj}6#ODU^@QZ7g|Z&@n?tqL?p7NknP zEN`<3Kg6rjE!93NS{XLH%=N@RGdGLXoVuT*^ 982(zH-5$u~M?^s`1r#?tFL*qcQ*kU39vhbgk2NOD8r+sVCi zzF;=%tzUN;O3ml*n9kQa4XEZgcQvLoxjg%6A2F;aIr}nYXEo+WG?c ^ H z6;k%;*6GLnq>+g0T +1_?_X`hvUQEp+6Y R5{Ga!4`lko}@4z<(er(|8z$XTh1CROs)b|zNE5673 z|7ZU{@Bdu?EB#0M{$t;l`##zCeBY7Y@Adv^?{D Yg&~JoJibU4N5?*H3Sreu1FO5dKy`DghqSZjm12=T_mn=_ znH`oT_93d;p(Uwdp-Z&c%+FJ#g|$P5(uSo=ECX!A#u@F39?i(AVd)ahNVQ?(i1xyZ z6z$TrLySPf%q0}V(lBtuxjd)Q`WW*RHp)tMyJ5U7mAB+dh2UAVGz)vYhRytCEx(T$ zv^vHzXmyHqNsngG>KM(S)gjsoFKDzr#%Og6#b|YiGm)h@r{j-mv>Ko+JdL8KFOua{ z>QP7EVYZIW^7O23?dTiK+R+)Fyg=6B=%dYT&rF*e`^XI09Up&0Q_DW_)Y8cg`14eI z^7JEyLbKk`rdgcREeutrg`tNXKK?ve936XvDKV>=2KM`NXQ}S&+{4=0*=O~#Uu>hx z62s~o{qp>C XS@>L%jL*&mv<$Q{!4x;fyVZXBc+t{n)Sgd}_sl}TNT`j!k(YafxE{gCuT2Ca zP1gv|#wfy>O97T{8+VqqtM3!hKF)u9+-g26TbAeX2vwduZEGx6ZEK|CQ<{OTX_$en zNe(|l21m!thG4a31H>jtb^P3@cIxI2X}3gNWncfmUu2)#&tImGTc3WKd{VQch9akz zq0QlUTK6-AI{ggEt$vZG$S- zT(=q5ZR~29jUiIAIr1dg93LOClraM)NUNP1quS`1VNFGKyQqi-`egJiYEny$S;}k0 z@l)iGJU48}GAk_?L!Mb~IGxm;44r1B C@^9O1`>9UqECvg;{X=38pJGs9D**GRiV!WxVk{ zQd5tUarDff* kejXH9MGXWpfBWMh>TwgIY^9TWjrPGd&h0(-UF8 zrd-;}Nd-%@b`<(J)sId34Y8JmAyc s}OpJDL>QSm4 zpBm6qn4hd}2{8*M9wDpK@c~1NS!| %Lr0MlibF*7F3 zJdOs)CVtkZsasddTiRD~HE%mvG2bXpj*?4i#%D-%IvM<0-9~gbL$}k-P~YM `-QJwteq%uXl0MizEMLx026ubUdm?WTri z%k<;`nT}0)nOeIY(`gxne9UOF-#E23GL7?U$Dw}R#yF>CW1LVsKGH`v$H)8G$t(kQ zChcINmugSP`;4=g!`arO%%X`N-O@OhS#0Z3W>Ltisp?~AG|S8$Wgb7}VK!%b#C%?= zR0OfGC2LnO`Z52q{ta~038|c2|DWyqbuRGl1HT^lfq)Rm1U#d^H~QJpE2Bq7zBTes zM`|N0BPWKxJ^U|+zc_qt`0=4XANsAK`q0wQ@xi|z{FA|7AN Oo{-^pq zegA<@jRy#T00@9UcLYK;w*MHL9Mjg<3Qh6$ov(5HWQ}b-!qG8f@v)g1i=1W1_8(+u ztUWeEW2G}n_!`@FoII^vwArlKa%UW#uCX1)Wa^ZrEU(ZPkd{<+ce}Cp8)ZBzoT}*? zi&KWg7JEZxvj^K*M9-Wuw6=H{dhH(Jn!d?6#n#Ifb0*wwd!)v88OO&@YU d z8|)g}S)4q5(vWK!7&>(mwyz))L!W742xEtj*Vwk==-5dn$gF2d*zd<`Y(H@#9MTkM z*X5Q3?I=`ZTZ*ws`pQ1--nM08h%k)UZi0*q6_$}9LpwfFV;hO%;~}QQvS32AgNYj3 zL!6GE(3CW8Yglp`MNii_GM!4DFf=u4n6V+OQTX)t>DGq0Mg_Ar6gCQ SB>WjNJDoICH5nR08>VmRriM;?Ohct* zdh$&&9h+j3nnE&(mQi?Di+5ZDs)`#M?0Yz+ElZrU z$`GL!94nF4iSSXTqhZ3N=ts|NQT^1JBl<9)%NTn K7e00m zL!oxBu;FuE_c4^V`WSkfeV%@Ud?qtTnC?~wroP!aF0(AMPiR@(RLa-ai^@&*T9MVH zW}*HHmG(8EsZAzp?g=9m)53H!QZb9|jvKn8k&kI%IvV+y#Wu(2I!kKy36_*uZF;e! z%rcwHq{K4IJl>QUOWv6oD~%SIw6l-5 dF#z@jJCfe&bV*HMN_g*G;@aR;S~SwKNv9 zGZMOKH15R9x@AiXF-t?dX&L$iS&mIUW^Wc|#)O(S g`kf_J|*$Ajp{AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUSIXRDad;?$zz zm{K4a6Pi?6l3$jXml>0hpPL#JAD@|*SrQ+wS5SG2!zMRBr8Fni4rIb-AZ7pnH3=RA literal 0 HcmV?d00001 diff --git a/home/__pycache__/models.cpython-38.pyc b/home/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96ec817e9b7d4d982ad6c9a67e2f8511dfc33e08 GIT binary patch literal 374 zcmYjMv1-FG5Isqbae_1T9}0%z4=AAoIyr%62QoEt%V&>D<53+Nn!F zAX85E&>Y;;Jst1eT``}}fa34?EuZQA3FJH?B1=klMSy_JK*LJLLd^|tL@5~D0Sb&h z0V6FwL>b}a5wiG~6p%3=Hyvu@sEQs`tvBKOJQ$HBrArAklnkNd$jE~G S=WRjd#D?oGAZ>WNINajX30 zV8e}ZSb!5GY~ZVG;-|P%ZQbR#wxQ!M-c`L 55%83hSv`cwThgM$nKH2`B^SvLQ9ULSC?f2~urYIpl-Dckc+#I3nrwD=wuOhXV zdo|6eN8S=ah5wBRAH0?S)z5tqT#z*Ug|Q^1HmPN)xRGt6?VxT2RC?j4eH-EC2wk5b z0LeW;aw@#i%Y6t|p%Z|?YKR_*p#MTK5W}0nl9rx`L?}HGi{vK28?hLn{Mg24|8y~l z(HCACE~`bWAb*f$&okEX5|~hYX_%3w0vo++YxsbtHtM;~sLRvq!@Zjm$EE`tw++KO zzN_y ~MN~F+DzcW0SUnyRm&I>M@4)aQkBVvY25px>zF? zv-!rfpLrvTkJ!E9e%3{nWzU#wq`|T$-A1`b6r$^g2$4^>K^S &UELOZJ+liR>iTAno )E{($Wg6r9x6E z9LPX` L|;)}$q}4t$>bNr;u6!zAj(teBJ)Fj&}1HcM$`ioBW_=U-+FnK@tQGaXWE zjE5~ia=Ua=>7#s6dFddsED7mYd)adCn8T?qybH-uS$S 9>6=C!^` z3NAbRUXv954YT(_F3_;qt{#pZuxc`l6h0QwI2tm|Ph*|v&KU(wC<=Fuh4k6w`v4)J z`_RMkmt|f0GOzZbe1w!(p;Csf#2Q>wDEFj%waBaWN)HNN*Gkt#sh!2E7t%i$_48vt zF?I7>8oHrt=6d}cZ3Ntej#1kT0H3@jQo-m2kGmI*bw7(ks-}58HUo9oeBz7WX2;hY U2Ju_V_%U*F@YIqX6FZ{+ACVPqcK`qY literal 0 HcmV?d00001 diff --git a/home/migrations/__pycache__/__init__.cpython-38.pyc b/home/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4367be5f17ef9466344c8617aa836c214aa579c9 GIT binary patch literal 142 zcmWIL<>g`kf_J|*$Ajp{AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUTJXRDad;?$zz zm{K4a6Pi?6l3$jXml>0hpPL$!o0(peSdy8aR~!=`pP83g5+AQuP +{% endblock extra_css %} + +{% block content %} + +{% comment %} +Delete the line below if you're just getting started and want to remove the welcome screen! +{% endcomment %} +{% include 'home/welcome_page.html' %} + +{% endblock content %} diff --git a/home/templates/home/welcome_page.html b/home/templates/home/welcome_page.html new file mode 100644 index 0000000..6368471 --- /dev/null +++ b/home/templates/home/welcome_page.html @@ -0,0 +1,52 @@ +{% load i18n wagtailcore_tags %} + + + ++ + + +++ {% comment %} + This works for all cases but prerelease versions: + {% endcomment %} + + {% trans "View the release notes" %} + +++ + diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..8c2ca1b --- /dev/null +++ b/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ubytovani.settings.dev") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..574b6c3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +Django>=3.1,<3.2 +wagtail>=2.11,<2.12 diff --git a/search/__init__.py b/search/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/search/__pycache__/__init__.cpython-38.pyc b/search/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55d2e5b087f5677011dc6587b9593e1376e30f08 GIT binary patch literal 133 zcmWIL<>g`kf_J|*$Ajp{AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUSoXRDad;?$zz zm{K4a6Pi?6l3$jXml;!>npl*a5fdMunU`4-AFo$Xd5gm)H$SB`C)EyQ#%CaA004NQ B9?}2+ literal 0 HcmV?d00001 diff --git a/search/__pycache__/views.cpython-38.pyc b/search/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5731b598ec624e50414bb250cb9e1ac295d31ae GIT binary patch literal 909 zcmYjPOK%e~5cX?#v)d#@flB4Z0SWCT+);%+ ++++{% trans "Welcome to your new Wagtail site!" %}
+{% trans 'Please feel free to join our community on Slack, or get started with one of the links below.' %}
+H#tKE>K$@&&)S7o`=s`tpLILdGl@fiz4*H2)7pj;Tarx3?xAb zPEm# #maK6tk%WRoN-T~Qnb8f~qK#AHEnZXQZm{K8$u`~=VU!2f zrm;nU`Xx=+6 ;uXl0M-QT%YUqNW~~|} z?~!Vk(5DhZZ1*#{qR=U?uboe(I?d)#?9SA 6j~FI;6ege8xvgYL-ryT)UOM@GKT5$#61Nn&m~#1p}S%4S_#` zg!vTO&llOy hnCYNR!Pa?;+&8Z^4#8}Z@~38;($sYiH%SvW=^s6d<=X%N literal 0 HcmV?d00001 diff --git a/search/templates/search/search.html b/search/templates/search/search.html new file mode 100644 index 0000000..5f222e5 --- /dev/null +++ b/search/templates/search/search.html @@ -0,0 +1,38 @@ +{% extends "base.html" %} +{% load static wagtailcore_tags %} + +{% block body_class %}template-searchresults{% endblock %} + +{% block title %}Search{% endblock %} + +{% block content %} + Search
+ + + + {% if search_results %} ++ {% for result in search_results %} +
+ + {% if search_results.has_previous %} + Previous + {% endif %} + + {% if search_results.has_next %} + Next + {% endif %} + {% elif search_query %} + No results found + {% endif %} +{% endblock %} diff --git a/search/views.py b/search/views.py new file mode 100644 index 0000000..d9ad9d0 --- /dev/null +++ b/search/views.py @@ -0,0 +1,34 @@ +from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator +from django.template.response import TemplateResponse + +from wagtail.core.models import Page +from wagtail.search.models import Query + + +def search(request): + search_query = request.GET.get('query', None) + page = request.GET.get('page', 1) + + # Search + if search_query: + search_results = Page.objects.live().search(search_query) + query = Query.get(search_query) + + # Record hit + query.add_hit() + else: + search_results = Page.objects.none() + + # Pagination + paginator = Paginator(search_results, 10) + try: + search_results = paginator.page(page) + except PageNotAnInteger: + search_results = paginator.page(1) + except EmptyPage: + search_results = paginator.page(paginator.num_pages) + + return TemplateResponse(request, 'search/search.html', { + 'search_query': search_query, + 'search_results': search_results, + }) diff --git a/stranka/models.py b/stranka/models.py new file mode 100644 index 0000000..c70364c --- /dev/null +++ b/stranka/models.py @@ -0,0 +1,35 @@ +from django.db import models + +from modelcluster.fields import ParentalKey + +from wagtail.core.models import Page, Orderable +from wagtail.core.fields import RichTextField +from wagtail.admin.edit_handlers import FieldPanel, InlinePanel +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.search import index + + +class StrankaPage(Page): + body = RichTextField(blank=True) + + search_fields = Page.search_fields + [ + index.SearchField('body'), + ] + + content_panels = Page.content_panels + [ + FieldPanel('body', classname="full"), + InlinePanel('gallery_images', label="Obrázky"), + ] + + +class StrankaPageGalleryImage(Orderable): + page = ParentalKey(StrankaPage, on_delete=models.CASCADE, related_name='gallery_images') + image = models.ForeignKey( + 'wagtailimages.Image', on_delete=models.CASCADE, related_name='+' + ) + caption = models.CharField(blank=True, max_length=250) + + panels = [ + ImageChooserPanel('image'), + FieldPanel('caption'), + ] diff --git a/tipy/models.py b/tipy/models.py new file mode 100644 index 0000000..6aa704b --- /dev/null +++ b/tipy/models.py @@ -0,0 +1,30 @@ +from django.db import models + +from modelcluster.fields import ParentalKey + +from wagtail.core.models import Page, Orderable +from wagtail.core.fields import RichTextField +from wagtail.admin.edit_handlers import FieldPanel, InlinePanel +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.search import index + + +class TipyIndexPage(Page): + pass + + +class TipPage(Page): + popisek = models.CharField(max_length=250) + image = models.ForeignKey( + 'wagtailimages.Image', on_delete=models.PROTECT, related_name='+' + ) + + search_fields = Page.search_fields + [ + index.SearchField('popisek'), + ] + + content_panels = Page.content_panels + [ + FieldPanel('popisek'), + ImageChooserPanel('image'), + ] + diff --git a/ubytovani/__init__.py b/ubytovani/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ubytovani/__pycache__/__init__.cpython-38.pyc b/ubytovani/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..93d0511253cdbfe01835342aba7f7637874ef9c1 GIT binary patch literal 136 zcmWIL<>g`kf_J|*$Ajp{AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUTDXRDad;?$zz wm{K4a6Pi?6l3$jXml;zEXT`^7=4F<|$LkeT-r}&y%}*)KNwotR^BIU40O;-@KmY&$ literal 0 HcmV?d00001 diff --git a/ubytovani/__pycache__/urls.cpython-38.pyc b/ubytovani/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0af88ad525258d4316f5ea9974afb1090800ab6f GIT binary patch literal 872 zcmYk4%Wl&^6ozMP$8mf~lh9yb!wxA6k|h#Ch)XMk1XL- +
+ {% endfor %} +{{ result }}
+ {% if result.search_description %} + {{ result.search_description }} + {% endif %} +&_|dZ@*x?ToKg0W$0UZF0~T-43k13W z8-n%`JdbJj)@pnXJ%HSS&b`Dj=xFaN8ukCcoM?oVCs|ph`BIK7)lTz8R#B#$%cQ)3 zU@M_K%>kTBWKuh>Qg$uZ5nUzuvUqO7leOEteOfFk&hk=D)@{iWvACEhw+5XgPdJ0O zE6b!z7eH}M=V`{|97;ghl8GEDk!Y7|E{dX5=*#Gd3hJ`sMUkHi3;MtF==OvS9^rr? z-Mz3B>6w5(j#PA=EXyR##->~0YGJ?e8JF%rl5i(m6oTEY>ex;`-ZdvluaSetj39+R zN}{c^hxO=lvuVnaX~|S@Z%oxXI(|3(K;nJ7=VRT(xZW3`&n$VmkLqEXnAtNU76GVK z=kxK=$G7w8=_lpaczSa3?K=`f-HtZf(fgOPsboUVDzLNZ*-cqoC3!ll_N0qn-YD-C nFKCsq*BCyO&%lJZheIpGa9g2m$m(vLz||hx$A^~Xg#Z2nr*!x{ literal 0 HcmV?d00001 diff --git a/ubytovani/__pycache__/wsgi.cpython-38.pyc b/ubytovani/__pycache__/wsgi.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0678a3da37e430e5bdb89fa12358a857995f85ef GIT binary patch literal 547 zcmYjP!EO^V5cN7~6Bdd%pq_n=1iK(^6+%?BL_v@q(g-P9$#K_{jU%tUT02|PD<1+J zIrBC6%83gf&=a$XTE&u|H6G1-Z^oV;9mNFKzuRB@TSUm8HrQWX4Bp~)FAyY|5gAFU zqgjM!N7J%1>qG>iRrmXW?8<{56r;{pGCP!XLI#I7zvIu7;fUqdEL6c3wr1 8zXY}`5n78Y4NN#DSZU>2!*dM{Xx4~YZBs^+AlZB_s!FR| zcxBCej(qP?r?fRNWl*x*CYUuyt{ht^4bPYZh?m}1?j%j6&0Qi_!W8z-Q*O%?O!_K$ znJ(?Mx2c3m+f50^r`N7fY5W%lLdJtAJT1WU_Kxq_2*+n1PRGLwJ~_X<9F2z){^{au z`tkhc_`d(df%nQ3C=Jb^7kZqd5zYg(E h?jma65Q+l1&}dE?XmJ)4R!M_a3sAI;l3H|9Us!H~0yN>mzg@^ywq|nEnSc CPprWJ literal 0 HcmV?d00001 diff --git a/ubytovani/settings/__init__.py b/ubytovani/settings/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ubytovani/settings/__pycache__/__init__.cpython-38.pyc b/ubytovani/settings/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..76b08544c6278ab1e4ea5f0255437dc1b2fbdc36 GIT binary patch literal 145 zcmWIL<>g`kf_J|*$Ajp{AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUSuXRDad;?$zz zm{K4a6Pi?6l3$jXml;zEXBDTGlw{_m7stfMXXa&=#K-FuRNmsS$<0qG%}KQbnfDop F82~{#Bo+Vw literal 0 HcmV?d00001 diff --git a/ubytovani/settings/__pycache__/base.cpython-38.pyc b/ubytovani/settings/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..caac97d42d1873f89aa1d66900925e12feac620d GIT binary patch literal 3028 zcmb6b+j7%J)E0{EI8Mlga0#JxODTklOb7)^xd~edZXG)lInde3j7Ij^I2&{^+BG5i z79Pr5``o|LYhT)zKDIMV2YMvgj&PVMwY;m{b3bR#IjgP7$$Scbf4=?IXw0NizlEFR zZyq;~aPYh7R0>ig1!<71G)dF+p7hhP#4OXXH|g*pnLadw>nt1t8O9(3S;)aS Faz&xCUQ=NH|gVS&Z7T_!_!a4X1KJVnnI21`9zKCQ_& _!_sTHlO_eYOeWz9T nSt|U7RMZp6L1S|cO)`D)O;t@OiseL y^2z8*P}(|paR }|{O@j=lrq|x}=l9KyFqx&aT}ODVrGy@G z|I8@Zqrf~2CikZXC~CJTaDQ^J=S DjUYMY9FPAf!bU`7{K6=Qz=UasX~O-Rqqx2_#by8&-8Vg|=rL@42=SNtTnQpf zDBE?Ea`gHSQts_2Wt^Tex}PAuJz|TAu}IpX;vU1m+EKnI7)PBLc%EclkE4;`y7dt! zEY^O$XSSbX%_%>wdZtYq-LSZLg74Z 25;pUnxz zsbSwxdY;AoQeUs2cGtqzp|sFY>cF71l}gk_nte16#s`$VNoJ!QdL;~O0BsC~i 1!$|+@h^V@rAJ?2GZ6ljKJB1 #t*AFJgbw0ece zmFlJ* o^6ykK^Ewa*|UT{C=6&F#*)9VuxqUN zc?9;?OHz>0>TA`y7RYsVUGu^l)qgT#dgN!< >da=A z8Rp8 4s!sTu(FEHM?b*+Xs<>Pf3)^L#-w(;m8j*r9-};FB$=4fzdzzb zQUDjOhn-Ma$2)ijb5xHk3T@zejPi4(n4v_*Y%E37&z7QhiHr|3$)61`RJ>2=D-%nQ zVk@_oJ`1vjfft8i1d_`Gxoe7D%rNFT*gS%)+2Ro-XBc6_H4HMbvDx@uD>uW0CAr6{ zu7#^$s#@2ZYOSVK49sRd$gfu`m74ZU-PD4@W~0$Gwl-_!MtwDq_gv-#<4tXSqoy`B zJ(zx`uT?{?TD7c(=^u<&)TSDW)`QdPR`ZFmq3Zgx#%9HMs@AHAY+%()*3|mimb#`H z z>F NxCL$5Y9BP_jsz!3RM%DaGN z7)@_)l<#hbWyZI|JAQj>@WHh`JiG0|=goG@ 7P4_JN06*JO{AZlx$(*#9 zF65=OB;h#vgwQ1BcX{yxDoOfVF37SZ72Zq75|sZ)@1?i$dwEvQhV+GZxSo_!2$he_ bf5~$)f} Z n) literal 0 HcmV?d00001 diff --git a/ubytovani/settings/__pycache__/dev.cpython-38.pyc b/ubytovani/settings/__pycache__/dev.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..593380a0b10a446feedacdef8167397f72bf9620 GIT binary patch literal 404 zcmYjN%TB^T6rCw85TwS1zW_-!HbFvSh#GlJlz@;(8>DG$T4tz~K5zz5_#@YTi2K>P za^nZEa*B!Zp4^jr&dtqDj;X2zAnJSj?tDN1K2!0(@ B@5z=C1Kfz zRt77UyeaN>iUCF-K9m8;&I+^+L5eYmrF($0L!jlp#1EiB4v&n@Y3Z40C)3&E>vT=d z)|mQQX{mV^(Q$Q7Dp)H=FVhF?(v>@@1-M#`Yh@~l^No(5+}Ka_NkWMpxk0FV?qo({ z%!C!QBqTaY?dGrB*K%C;Tt>LkMosgY7lx>HhYY8S#$0XmdV>*aJ2!)&G2|+`ZFG80 zv(f6Jew!;{GI2w`*NNr{T_8#m`UYs4*p9Z9R^2ukq0C+iwoPxnNLFqf*vr3(k;Nj2 jeP&~_(&uZQKaUc;49R7h1UnFv&&UE H2>0O+7p`t5 literal 0 HcmV?d00001 diff --git a/ubytovani/settings/base.py b/ubytovani/settings/base.py new file mode 100644 index 0000000..efd7122 --- /dev/null +++ b/ubytovani/settings/base.py @@ -0,0 +1,162 @@ +""" +Django settings for ubytovani project. + +Generated by 'django-admin startproject' using Django 3.1.3. + +For more information on this file, see +https://docs.djangoproject.com/en/3.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.1/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os + +PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +BASE_DIR = os.path.dirname(PROJECT_DIR) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/ + + +# Application definition + +INSTALLED_APPS = [ + 'home', + 'search', + + 'wagtail.contrib.forms', + 'wagtail.contrib.redirects', + 'wagtail.embeds', + 'wagtail.sites', + 'wagtail.users', + 'wagtail.snippets', + 'wagtail.documents', + 'wagtail.images', + 'wagtail.search', + 'wagtail.admin', + 'wagtail.core', + + 'modelcluster', + 'taggit', + + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.security.SecurityMiddleware', + + 'wagtail.contrib.redirects.middleware.RedirectMiddleware', +] + +ROOT_URLCONF = 'ubytovani.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + os.path.join(PROJECT_DIR, 'templates'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'ubytovani.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.1/howto/static-files/ + +STATICFILES_FINDERS = [ + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +] + +STATICFILES_DIRS = [ + os.path.join(PROJECT_DIR, 'static'), +] + +# ManifestStaticFilesStorage is recommended in production, to prevent outdated +# JavaScript / CSS assets being served from cache (e.g. after a Wagtail upgrade). +# See https://docs.djangoproject.com/en/3.1/ref/contrib/staticfiles/#manifeststaticfilesstorage +STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage' + +STATIC_ROOT = os.path.join(BASE_DIR, 'static') +STATIC_URL = '/static/' + +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') +MEDIA_URL = '/media/' + + +# Wagtail settings + +WAGTAIL_SITE_NAME = "ubytovani" + +# Base URL to use when referring to full URLs within the Wagtail admin backend - +# e.g. in notification emails. Don't include '/admin' or a trailing slash +BASE_URL = 'http://example.com' diff --git a/ubytovani/settings/dev.py b/ubytovani/settings/dev.py new file mode 100644 index 0000000..2d6ad37 --- /dev/null +++ b/ubytovani/settings/dev.py @@ -0,0 +1,18 @@ +from .base import * + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '%qe)-fkhxfye8ydrg)%u)b=m+3pe1d)&mwf^darvac5id33n5&' + +# SECURITY WARNING: define the correct hosts in production! +ALLOWED_HOSTS = ['*'] + +EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' + + +try: + from .local import * +except ImportError: + pass diff --git a/ubytovani/settings/production.py b/ubytovani/settings/production.py new file mode 100644 index 0000000..9ca4ed7 --- /dev/null +++ b/ubytovani/settings/production.py @@ -0,0 +1,8 @@ +from .base import * + +DEBUG = False + +try: + from .local import * +except ImportError: + pass diff --git a/ubytovani/static/css/ubytovani.css b/ubytovani/static/css/ubytovani.css new file mode 100644 index 0000000..e69de29 diff --git a/ubytovani/static/js/ubytovani.js b/ubytovani/static/js/ubytovani.js new file mode 100644 index 0000000..e69de29 diff --git a/ubytovani/templates/404.html b/ubytovani/templates/404.html new file mode 100644 index 0000000..3a5500e --- /dev/null +++ b/ubytovani/templates/404.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block body_class %}template-404{% endblock %} + +{% block content %} + Page not found
+ +Sorry, this page could not be found.
+{% endblock %} diff --git a/ubytovani/templates/500.html b/ubytovani/templates/500.html new file mode 100644 index 0000000..72b6406 --- /dev/null +++ b/ubytovani/templates/500.html @@ -0,0 +1,13 @@ + + + + +Internal server error + + + +Internal server error
+ +Sorry, there seems to be an error. Please try again soon.
+ + diff --git a/ubytovani/templates/base.html b/ubytovani/templates/base.html new file mode 100644 index 0000000..a38cbb1 --- /dev/null +++ b/ubytovani/templates/base.html @@ -0,0 +1,40 @@ +{% load static wagtailuserbar %} + + + + + ++ {% block title %} + {% if self.seo_title %}{{ self.seo_title }}{% else %}{{ self.title }}{% endif %} + {% endblock %} + {% block title_suffix %} + {% with self.get_site.site_name as site_name %} + {% if site_name %}- {{ site_name }}{% endif %} + {% endwith %} + {% endblock %} + + + + + {# Global stylesheets #} + + + {% block extra_css %} + {# Override this in templates to add extra stylesheets #} + {% endblock %} + + + + {% wagtailuserbar %} + + {% block content %}{% endblock %} + + {# Global javascript #} + + + {% block extra_js %} + {# Override this in templates to add extra javascript #} + {% endblock %} + + diff --git a/ubytovani/urls.py b/ubytovani/urls.py new file mode 100644 index 0000000..d1b8710 --- /dev/null +++ b/ubytovani/urls.py @@ -0,0 +1,39 @@ +from django.conf import settings +from django.urls import include, path +from django.contrib import admin + +from wagtail.admin import urls as wagtailadmin_urls +from wagtail.core import urls as wagtail_urls +from wagtail.documents import urls as wagtaildocs_urls + +from search import views as search_views + +urlpatterns = [ + path('django-admin/', admin.site.urls), + + path('admin/', include(wagtailadmin_urls)), + path('documents/', include(wagtaildocs_urls)), + + path('search/', search_views.search, name='search'), + +] + + +if settings.DEBUG: + from django.conf.urls.static import static + from django.contrib.staticfiles.urls import staticfiles_urlpatterns + + # Serve static and media files from development server + urlpatterns += staticfiles_urlpatterns() + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + +urlpatterns = urlpatterns + [ + # For anything not caught by a more specific rule above, hand over to + # Wagtail's page serving mechanism. This should be the last pattern in + # the list: + path("", include(wagtail_urls)), + + # Alternatively, if you want Wagtail pages to be served from a subpath + # of your site, rather than the site root: + # path("pages/", include(wagtail_urls)), +] diff --git a/ubytovani/wsgi.py b/ubytovani/wsgi.py new file mode 100644 index 0000000..edd0be1 --- /dev/null +++ b/ubytovani/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for ubytovani project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ubytovani.settings.dev") + +application = get_wsgi_application()