From 58c10c2a37f6137e30940d547f36081cba5557f2 Mon Sep 17 00:00:00 2001 From: xiaji Date: Sun, 18 Jan 2026 18:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitignore=20=E5=B9=B6?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/__pycache__/__init__.cpython-313.pyc | Bin 177 -> 0 bytes core/__pycache__/admin.cpython-313.pyc | Bin 3798 -> 0 bytes core/__pycache__/apps.cpython-313.pyc | Bin 537 -> 0 bytes core/__pycache__/forms.cpython-313.pyc | Bin 4977 -> 0 bytes core/__pycache__/models.cpython-313.pyc | Bin 11188 -> 0 bytes core/__pycache__/urls.cpython-313.pyc | Bin 3136 -> 0 bytes core/__pycache__/views.cpython-313.pyc | Bin 27324 -> 0 bytes core/forms.py | 22 ++- .../create_superuser.cpython-313.pyc | Bin 1537 -> 0 bytes .../0004_systemconfig_sender_email.py | 18 +++ .../__pycache__/0001_initial.cpython-313.pyc | Bin 5459 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 188 -> 0 bytes core/tests.py | 3 - .../__pycache__/__init__.cpython-313.pyc | Bin 259 -> 0 bytes .../__pycache__/celery.cpython-313.pyc | Bin 1102 -> 0 bytes .../__pycache__/settings.cpython-313.pyc | Bin 3790 -> 0 bytes diary_family/__pycache__/urls.cpython-313.pyc | Bin 1534 -> 0 bytes diary_family/__pycache__/wsgi.cpython-313.pyc | Bin 683 -> 0 bytes logs/app.log | 142 ------------------ 19 files changed, 39 insertions(+), 146 deletions(-) delete mode 100644 core/__pycache__/__init__.cpython-313.pyc delete mode 100644 core/__pycache__/admin.cpython-313.pyc delete mode 100644 core/__pycache__/apps.cpython-313.pyc delete mode 100644 core/__pycache__/forms.cpython-313.pyc delete mode 100644 core/__pycache__/models.cpython-313.pyc delete mode 100644 core/__pycache__/urls.cpython-313.pyc delete mode 100644 core/__pycache__/views.cpython-313.pyc delete mode 100644 core/management/commands/__pycache__/create_superuser.cpython-313.pyc create mode 100644 core/migrations/0004_systemconfig_sender_email.py delete mode 100644 core/migrations/__pycache__/0001_initial.cpython-313.pyc delete mode 100644 core/migrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 core/tests.py delete mode 100644 diary_family/__pycache__/__init__.cpython-313.pyc delete mode 100644 diary_family/__pycache__/celery.cpython-313.pyc delete mode 100644 diary_family/__pycache__/settings.cpython-313.pyc delete mode 100644 diary_family/__pycache__/urls.cpython-313.pyc delete mode 100644 diary_family/__pycache__/wsgi.cpython-313.pyc delete mode 100644 logs/app.log diff --git a/core/__pycache__/__init__.cpython-313.pyc b/core/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 41b87f7196e15ae6d943a5c4720fbef30aa6291b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmey&%ge<81OjeRnIQTxh=2h`DC08=kTI1Zok5e)ZzV$!6Oi{AB=yA?NH|-?gche3 z6~|O$CT3;Exa237=BDPA6vsT-vFgdLUC*YqKiR$Q>5`o>PnYz+T(vYNB{Q+8Qa3Fz zH#4U)CON+-H6}hjGcU6wK3=b&@)n0pZhlH>PO4oIE6{9^1ByY6kIamWj77{q763DS BG=%^F diff --git a/core/__pycache__/admin.cpython-313.pyc b/core/__pycache__/admin.cpython-313.pyc deleted file mode 100644 index c12fd79bf322fff1e9571b457b1bb968b2693fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3798 zcmbtXTW=Fb6rS;Qy|$C!IEiz`i4wp_PlDoAN}Iz)|(1re^ICV33VFn@BNHDWE#`>RhH$z(@gVe{;R&MAN<(>1hPR0WfRl2t*?Mj@JwK`hO3d~2ag+kdXHoc}EM`YE=?w7>$>f{0z}W4f)gsDVCb zy$6HIk(_}6&Jc2j$K;$E$r&8rRFE?=Cg+inoS^|u6*;40awbM{h6gxf$Qd7#b9yAF zGQc^3oV51i>``(gXJmkL3OQ+=#^Ib9$*B%-CXkb28i#XsBxiJhGl`t^{&6_xMsmgm zIA@WQu;Xy1imA-}OUi%@7eS*?w(OUbKN(d-w@jm8*~OdnswpNuHp*71e$#Nilzrs} zSQW6`x(I2m;np0X+$b5g^u;?9x6FJ63L^fg?O4UzZl|mEnMCAfrC`))qKIjA$2H5B zEB3Zk%y&{!K04{l+7!=2mSey*20o30U-Lmg^FvSzK&TkZgv8W7&6i{_Q#fhIF9Nnv zHieo8({Rm#Zn#3NRSTW=4u@%ivCW;ZP;{NJx-L{*FINh+618Kx{#DH=bv%>0zHNcy zmMq(}E95R&j;j|er&==VBJP+5zi+PoMt%g`Oqa z1R2?)=r$omeQJ7dU8UA~*GSx2&q?ElmK5)vM^6kLm9fMeCmc6akkmoB$=K2sxD+b6xvI#?m!Q8GhE^bC!WA!W`HG?YQtFoP0ncdtH6zR^u1 z!o1#c3|x-ha!@!JCPnCl%w>Cri*UYTyLc;jal$!53`svvV`PY>Cp|;b7fE`$E1fW} zC4I7g3wXLOAY&%vZO=t)3#HmC5_ADlktkqIp$6-3{Y+i1qf2OJdRSmJf8v2KjiwKn63~T8G1!8rY(x; zy@8krb8t*_)gGLG#Xu$~j_j|mUN}^CFzupF*{$kWd%iY7L}aI00T-(njn~j2Yv&}G zd8=yS>C?@!VU-YS+6CRU%HC#rJBG_MD)$b|v`;V0>0Gba9nFtw`Oq2{2L5P!?KqC||i&(HRUiCV0 z$o25*rmRkM`^&3XUV-u^kU1rfo!lp>c_{aUa>4t(@IGir!13$+j&|42Isb#DU-_ck z_lkAR?h^Bb@2`Bj@*vveOM5;aUwKe#%^h#d9d9%2wEfJtyi3EoY8N@tqgW?uI@*!_K>T6q}t?*#JT#wY|S2P%pN07iCiMieaJ|Y uFL=mXt(lF+%tjBnIE0Kf`SPBR^9p|yY^6>#QYYGsdi4I4f22bm#D4+U>CIXI diff --git a/core/__pycache__/apps.cpython-313.pyc b/core/__pycache__/apps.cpython-313.pyc deleted file mode 100644 index 64e1f811f6abb50d204edc86ffb8816a51138d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 537 zcmXw0O=}cE5bd6s-K-lI^Pysbf_f0814NTQkz*L}s7&ZZ8pUh!TP)z#xxt4T2Cws!O}=HITkjoOrq zUm!Ulj4=9+yrn>&l1Jn@Vcs%fKBq7J$_HK?gtd_?LR#M0$n#E?_H^8>cA*J+6iIvf0T%RWn8b+7F&Ydoqo)cC_2>XOT)w`?ZcY3Y%?d zl|*IGMgKRl9nO>uAyU~_LX=G*&|4&q-xcCRA(N?cPl%odV-uaKG(&kIQaxEDR!AI) z+GM6Pmk)$6R$AQ^(pu2Fg;hofXy8&~_n@0M2%R(ih7`t?@D7guzNr_H{DgZgnp6+_dunxWiAtz1p-8K9Z}Y)yv@F z)$IJ?Cd}RH+o501PLJZ6!F@&5?slt;^T^7^tLh5tu!yDm1#=(auTLrcMV{T%J-TqT K^p9Ygbo~d|rj;cC diff --git a/core/__pycache__/forms.cpython-313.pyc b/core/__pycache__/forms.cpython-313.pyc deleted file mode 100644 index bf01b5a152077c2be680a3850b2e2775cc72c9e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4977 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 diff --git a/core/__pycache__/models.cpython-313.pyc b/core/__pycache__/models.cpython-313.pyc deleted file mode 100644 index 5403959dd85e3d99398048bec4f9f555ee5b7dd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11188 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 &4h`15_dd`|uK zbN&LKUpdgM5_~)PMAaiDSbPCr(`*c;@P}=OFVs8G+mDM+-HpZJ10OuO09U=u7@1jzUhG z^j&7oi$-97Apq$*lB$7b=egsPFTW#6WOU1_>2t{t9-cw)V+3y^_$7jO5c~~-cLD4o z?_m|cD>VYiub@V)WGNCBU9896^3;3!k%3SgM9pQYUT~b>bo!k{E(-1AwLAo@gIv zS_G1kin;WlACBl+v~<`Ph(r!zUV2DK+!5*vfdwl)k`&9Ei&LRoymOnBT*P62i{Q5i z{xbs9o5_Dc@Lv%q7AW~|c!(M{`5ge!BpKS|BRpX7&pC+JjZbz2!ByQG77buydW+O$ zCiqJZn64a6Px2|wacg6h{2liDdjuaNKs|zt0uaqT(jSW;{}Yew>TBr+&jJ|n_`S&| zcup6L6v1zr{hBoQAf<-6D&U2=5p4Kvh$`$ zu>7k1lzs4U+*wQg-1bt9qI$_@KWR!ht76Wop-qYErLpRz7iK4xx5k#Y3OgQ5?C6T^ z=n@?J61M#@+kVB8t{b(~(?mpGh-4HjwO~-@yEA<1m!`~WK6SqHDLv}r?yB2gSewe9 ze!He|$)IhhNpQ@a&NLopO}A|r!~4ne3|R-C672IJhp4k@N_2!)GBE%zy3{~s*1|8mU; zJ#R+P4g7aiRV_Bd-{-DuDQ7;m<+PNTKQ7PNR$=&fcHK6&;S-k*>Yuoc08?yuRJW+9 zf)YV%s`!DU4i!bB`f$A=^UY zDjkGa?pXpmi!QHv*NV>0#{%Jfy$zB5;5Y2(k4C78DDgTY3=(b04*TJc&PWUwZ7h*X zHupzE-4W>z7RXa|?rrD+*BdnBa+Y!hTySroyaG)j%G#94(GrzdA$0*#CX0-c{^gl| z(l0H|=i@khTab8Kx&URwW!PMffUe0Q#}|#5xH=-`&-LIb6hKlu=q#*(P9de!qxqs~ z_FI~olzagK@Wmn1WzD{Am~SM5Wyh?-$C#_1V2D<1VJN$;|NY5IECOx2+krn zhX7r7l0ZieNWaus`1?UvF9sl5R=_j%cL!II8*r$Df03&It{HSX-S3$-F=oy0nT4M* zGe2Xhe$O<0#&~|u%>75k`WaIKl;m8)BI-DB0Q(Oq|^ALr>-U!R-an0{=9@orAHR(E|yu5O(U=h^^sk y_i#8ZG{Z?~hD$=ns_QdKbW5)TM)H$$2^=6%J-i=*)y{?+RivJ6xkehA* diff --git a/core/forms.py b/core/forms.py index 069d23b..1cb716e 100644 --- a/core/forms.py +++ b/core/forms.py @@ -1,3 +1,4 @@ +import re from django import forms from django.utils import timezone from .models import ( @@ -60,6 +61,7 @@ class TodayPlanForm(forms.ModelForm): class SystemConfigForm(forms.ModelForm): """系统配置表单""" + class Meta: model = SystemConfig fields = ['smtp_server', 'smtp_port', 'smtp_username', 'smtp_password', 'sender_email', 'send_time', 'recipient_email'] @@ -71,4 +73,22 @@ class SystemConfigForm(forms.ModelForm): 'sender_email': forms.EmailInput(attrs={'class': 'form-control', 'placeholder': '请输入发件人邮箱'}), 'send_time': forms.TimeInput(attrs={'type': 'time', 'class': 'form-control'}), 'recipient_email': forms.EmailInput(attrs={'class': 'form-control', 'placeholder': '请输入收件人邮箱'}), - } \ No newline at end of file + } + + def clean_sender_email(self): + sender_email = self.cleaned_data.get('sender_email') + if sender_email: + email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' + if not re.match(email_pattern, sender_email): + logger.warning(f"发件人邮箱格式不正确: {sender_email}") + raise forms.ValidationError("请输入有效的邮箱地址,格式如:example@domain.com") + return sender_email + + def clean_recipient_email(self): + recipient_email = self.cleaned_data.get('recipient_email') + if recipient_email: + email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' + if not re.match(email_pattern, recipient_email): + logger.warning(f"收件人邮箱格式不正确: {recipient_email}") + raise forms.ValidationError("请输入有效的邮箱地址,格式如:example@domain.com") + return recipient_email \ No newline at end of file diff --git a/core/management/commands/__pycache__/create_superuser.cpython-313.pyc b/core/management/commands/__pycache__/create_superuser.cpython-313.pyc deleted file mode 100644 index 70864a0dbd887af8ddb9f6c5fac7a085a3c04948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 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 Qu(dd7E&iS&GgZXD0JKxA8UO$Q diff --git a/core/migrations/__pycache__/__init__.cpython-313.pyc b/core/migrations/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 3bed5233f7e424b99df8ef334202bacf40d44c33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmey&%ge<81OjeRnIQTxh=2h`DC08=kTI1Zok5e)ZzV$!6Oi{AB=sc%NH|-?gche3 z6~|O$CT3;Exa237=BDPA6vsT-vFgdLUC*YqKiR$Q>5`o>PnYz+T(vYNB{Q+8Qa3Fz zH#4U)CON+-H6}MRy(qCHGe565CO$qhFS8^*Uaz3?7Kcr4eoARhs$CH)&>E0iib0Hz M%#4hTMa)1J0P&VNDF6Tf diff --git a/core/tests.py b/core/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/core/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/diary_family/__pycache__/__init__.cpython-313.pyc b/diary_family/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 0f30c28256ee41fb040957c2d840f29a5b13f188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmey&%ge<81Tz;!XBGhI#~=<2FhLogMSzT{48aV+jNS}hj73Ze48crA%<0UUEH4>> zQksmnm=g;MfD~79YEEiVWjv7Qr^#}Q4Z^)EvSC%d;jU9vOg>5~4JtCq&3 zWF{6>>ZT>;X695vIPp+Ue0*kJW=VX!UP0w84x8Nkl+v73yCRSWLC!4Z1ri^a85tR$ QGN?Y_l5Auz;sA;O09f}-D>N z$wdS3izuhd)&flfgLMD_q^1BOCp|??(ufWd%uF$pEMmie18MWE)9com_WiFD4YJTS zfU}W>@6mk#+6O30M-I-BK5yYp2_4W0U4u9$_Fw4qSQxr5fzvn4n7|n^9_SsUpbtm3 zoXAt4BK{+yr6QDJ9}{H}RWNdDqOMCyK{JB!$n zl}w&5N^&LI4)=DNm%D`pUMZ;2oT}u9+A;RAL^6?nfYZ1Xz9?!XJ}2fn%O$;F@NV{D zu@2_jzI3Z=Z36~ZL4-<0XvAV{_$N|ub~Kqx#51EaGw=gwlF&a8i?JbYP7{&FElK=> z#KqNIxhN{S#x=G!8{6BzU#>QGJ|Ap+;SM&Q9c{knOd|ajKTBzm<#J}1qNR%A9G3ZF zR^UgFA7?m+w?_Uz6}(y6>y3TwjUg{qXE9SYD=9**HDqi9fYfV}jA4LDwtbMA17{H( zrv2bH{cp$xI>MC6`-h*N9DZDH?CcyoeY@;Ri;v5qrVoX2Qw&=PNs4YbkYyx=Xri3g zNU|^@f75UaVzyk!=)Cp_bz=khd|C*LD)?guHuu`ZbK#ZzLaqm{)!f&=vo}mm5wAh3 znqjwkfd~=9(=lyp91c-gl#r?zZajQJ%=2YgHyFNDGP=l@kP4YRQi~ZiyCCLtql+)= zsvv1Obx}lSL7Ks~>p~u!!^~~f?Hn$uLRl6^&=u?;gtSF0jv0!gegM}#xVR6($96z5 ztL_!|9thMypcahQZjJAPdnb0_@U1=kX1`ozNDR9Nf^`tA_4IFrY6RZxu-1EGyWq}G bid_w@gx2(Gs77_4&@^?k$pAWFBD1c)R&NGP diff --git a/diary_family/__pycache__/settings.cpython-313.pyc b/diary_family/__pycache__/settings.cpython-313.pyc deleted file mode 100644 index c0902c77b3b764de1aec2f1d466fc7fd916b3430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3790 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 diff --git a/diary_family/__pycache__/wsgi.cpython-313.pyc b/diary_family/__pycache__/wsgi.cpython-313.pyc deleted file mode 100644 index 6347f457ef9097f16ef245015bbf148e0abb9bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmYjPL2DC16rSCUP1)EWVtO8mmw?@E54jW(#I$KzO|jb|$iim2JK0Rw-C1TPY13Oz zJ@%w`p&slH5Uqcrq980D6ceF0CH??svkA>Rym@aP-}k;ZZ$=9XI*^v%cuC$U0Q^dm zspTfY=s*UqfCU(^6ieM!m?BSYTiw!_27#^Y&QBpX=WgL9o<>&Ax>ZrLOyaa9P??n2 zoUfMWj=$?KtXdtqG-?qawkU%hL9FkzP)LG4j2Z18^a8Rf&d)^ z7$Oc445`-*@N$5AIDkFG$hZ`t5PPuML~$Gt7YRb6W>fNQ$W|d`7?MbK4aWsYBS}s; zY>@yzfE;7JEkw-MOw*$-H@pstd^*+S($K__Sus}4Ha!&7^l%)|euyJs9&(?U`gJ;M zqpT$Nd@P*w&Y6*sELOK3H)=bMwZ6AkZ`3U3*-mx;>H2YL_6ZD*g&>j7%lRblI8uk> zBr4^}olK44${~!Dn`yFJlE+bxFd8Mg1bVoIx`9XvGi~32Q7Y@-bLpO}+4~$bZXXfU zA$FCz-Bdoe2Olm5mzTd^pAJ5~AD(}-hv#S47jNycu;pwwSu$CaoeD7Gelq_sTf-w( zl>G940lp&LA5Bq|ziM8|jqU