From 33f760625909b446657d299a12e54bd626171d4d Mon Sep 17 00:00:00 2001 From: jeremygan2021 Date: Tue, 10 Feb 2026 22:55:50 +0800 Subject: [PATCH] swagger --- .../__pycache__/__init__.cpython-313.pyc | Bin 153 -> 172 bytes .../__pycache__/settings.cpython-313.pyc | Bin 3754 -> 4089 bytes .../config/__pycache__/urls.cpython-313.pyc | Bin 1147 -> 1266 bytes backend/config/settings.py | 5 +++-- backend/config/urls.py | 1 + .../shop/__pycache__/__init__.cpython-313.pyc | Bin 151 -> 170 bytes .../shop/__pycache__/admin.cpython-313.pyc | Bin 10656 -> 10676 bytes backend/shop/__pycache__/apps.cpython-313.pyc | Bin 450 -> 469 bytes .../shop/__pycache__/models.cpython-313.pyc | Bin 14756 -> 14775 bytes .../__pycache__/serializers.cpython-313.pyc | Bin 8469 -> 8486 bytes backend/shop/__pycache__/urls.cpython-313.pyc | Bin 1149 -> 1168 bytes .../shop/__pycache__/views.cpython-313.pyc | Bin 27505 -> 29082 bytes 12 files changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/config/__pycache__/__init__.cpython-313.pyc b/backend/config/__pycache__/__init__.cpython-313.pyc index 9f4aa7861aa1f2bd12bebba55e7207470fe0f2c8..2c5b99fb6102d2f55d6fc73e7f1757aa32bc747f 100644 GIT binary patch delta 88 zcmbQqxQ3DYGcPX}0}ybVbx-6rcJ$T{Elw>e*3U{UO3kfIPt4PI$xklLP0cGQ)=x<- q)6YpwEXvc*O)SbzEr~BkOi$HMN=(j9%}dcw&d*EBOxK^7qYD7YcOCZt delta 69 zcmZ3(IFph4GcPX}0}u$hH%#O<*0XT4igC$I^~y{PNz9DNO)SbzEr~BkOi$I#P0Y-T XNlHx4PR&b+NzTtp%S?}%Sg#8Jz)u#` diff --git a/backend/config/__pycache__/settings.cpython-313.pyc b/backend/config/__pycache__/settings.cpython-313.pyc index e04b4d035fe286851c3b9b31268b5e3d8e507362..cb9f72fe793f9ce8cd67f5abf70d1e8e2c2c74a7 100644 GIT binary patch delta 665 zcmZ{hzi-n(6vu7HPDFnD1C7ba)_ZN^NNqm z!)3Sv3$%%=h^1PX>}$#;k{)cc=^JnpZYd#Jr>yWKL%CVF4R@ddccEJHIsNvEoXNfr)O6X>Z)W9JIc#_)pVBZ9>#4&v$_Wv&;MWd@V)R^IQ+%Z z*Q>h$%`$Dvz^RYLEN#DwO~*!U+(!mhiTUpx zT0K?AXh+rdu-Qg*u;(2e4Ze$s;5J2h^V&ZL7osYU{ftl;@e53Uhya z;-?5#iHYLVqeyB3-&jtmBE>L|1uXI-mNdqBd73Ng9L2GUHKehQ3^uTdEOJnxA&)H- zu#Fv6=IeJ=J0-A3$(k**KYV9@;_yd$lEhLbHE=i|2OrL_vln4J`F?azI@FIX^TaYv z4NGqrR5!clZKG!98iv)>FO5pwY*zJ3t9fPB^p4r>TFqKVZQqV&i;Y(G=Gr_W@Ij2D Z^E{9hL;Q3nhCQXoAh3 diff --git a/backend/config/__pycache__/urls.cpython-313.pyc b/backend/config/__pycache__/urls.cpython-313.pyc index c7aea467d1935d96149737f52777d0edd9ec897b..738fb93c06539d90149e2fc4f7b2389a66a18d4c 100644 GIT binary patch delta 281 zcmey(@rhIYGcPX}0}wR1b!Vn9GcY^`abSQ4%J{r)qWV8Z?ui$~CfhLbaKtbxF$4?7 z@BsOI!Cb+-mW;td!Q7V2`fQWE7{mF6EtzzA85oKL(nZomG({(GV7#oro06YgtY2K7 zn4X?mq+cZfW$Bh?>L%u7CKgX_V)`8Gt{+;QT2!o`m0FaVTbZ7ir|*)VT$-DjS5mB> zl3J#plbTqRr=Ocxl$}}2KczG$ z)vib$=mSO|Erxh%q%00-T$J*@5R`I}C3Uh6izJ62CqGjI_Xml| HzASnG1=v&Z delta 178 zcmeyw`I|%iGcPX}0}u$hH)Q^0Vqka-;=lkml<~P`qWZtd{)}?$0>Rvt%=)a8OBloX z1udC$c^Mdr1k#1lg*1gH-(tKx`5erflK6te^iyq{QUx)V!3Kt4*=?-Gzb6y diff --git a/backend/config/settings.py b/backend/config/settings.py index 9033074..72f7f33 100644 --- a/backend/config/settings.py +++ b/backend/config/settings.py @@ -192,8 +192,9 @@ UNFOLD = { }, } -# 禁用自动补齐斜杠,防止破坏微信支付的 POST 回调 -APPEND_SLASH = False +# 重新启用自动补齐斜杠,方便 Admin 使用 +# 微信支付回调接口已在 urls.py 中配置 re_path 兼容无斜杠的情况 +APPEND_SLASH = True LOGGING = { 'version': 1, diff --git a/backend/config/urls.py b/backend/config/urls.py index 4f02810..b61132d 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -11,6 +11,7 @@ urlpatterns = [ # Swagger文档路由 path('api/schema/', SpectacularAPIView.as_view(), name='schema'), path('api/docs/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), + path('docs/swagger/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui-alias'), path('api/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'), ] diff --git a/backend/shop/__pycache__/__init__.cpython-313.pyc b/backend/shop/__pycache__/__init__.cpython-313.pyc index 89df613a41b55e99f8f8b1f8a4d3b10123d594f6..79d827823b8ddf0cb223d70ef1cb3e124a9c0bf8 100644 GIT binary patch delta 86 zcmbQvxQdbcGcPX}0}ybVbx-6rw)fNzElw>e*3U{UO3kfIPt4PI$xklLP0cGQ)=x<- o)6YpwEXvc*O)SbzEr~BkOi$HMN=(j9%}dcQ&d4v&pO~c!0E&klF#rGn delta 67 zcmZ3*IGvIEGcPX}0}u$hH%#O<)-iLligC$I^~y{PNz9DNO)SbzEr~BkOi$I#P0Y-T VNlHx4PR&b+DbC0*h?!Wc3jmS577hRa diff --git a/backend/shop/__pycache__/admin.cpython-313.pyc b/backend/shop/__pycache__/admin.cpython-313.pyc index 786479a7910e4c43deff5d38b84fb5c314bc9bc4..4dce4ff8a70a7b35e6f2592057262dfa056b2e75 100644 GIT binary patch delta 122 zcmZ1wyd{|TGcPX}0}ybVb!Xab!Qc_^0ub-2j YoS2i5UtD5kIC-&j5u^5IF_|u20Ge_r+yDRo delta 102 zcmdlIydaqOGcPX}0}$N$*qUjxk(Y^0$Jos(#w9b=D>E@9F*7DNu_!yWB)%XqJykb1 zF*7eFDKR-aH7_NmI3vFxX0sn#n5d9wMoCG5mA-yXesW??Mt*UL)#UBcMT}aTwPd<@ E0shD%BLDyZ diff --git a/backend/shop/__pycache__/apps.cpython-313.pyc b/backend/shop/__pycache__/apps.cpython-313.pyc index 1fd4cfa8b3526bed1740dda6ba99e7e641468913..f3176a8188077f85523fa7902c39131d2f834fb6 100644 GIT binary patch delta 88 zcmX@ae3hB|GcPX}0}ybVb#LTmW3+eG4=qkDD%Q_RElSO;Oi#?ycgasK%}vcKDb`O( qEz{3QO)SdO&rK}KPA!QqNK8-FPfASAPR&cvFV4s>(4TC}*a`r}GcPX}0}y00wQuCU%cf)EW)uR!Ul6ldoqd8405(JzUH||9 diff --git a/backend/shop/__pycache__/serializers.cpython-313.pyc b/backend/shop/__pycache__/serializers.cpython-313.pyc index 5c9902f53b9385df1707aa32eb1fcdfbc71c904a..21f8892f6b66363a7d4c43d0861f369e5ff2e831 100644 GIT binary patch delta 132 zcmbR0w9JY7GcPX}0}ybVb#LS@X14dy4=qkDD%Q_RElSO;Oi#?ycgasK%}vcKDb`O( zEz{3QO)SdO&rK}KPA!QqNK8-FPfASAPR&cvFV4s>(BHg@nVp64!em(q6()a%$%+!< jli#yzY?kEUVPw2GS&dVlQ`}LRuR!Ul6l-FEcv}Xn%ol9(Bjn^=^cS`uH7n4YSe ao0ypwla!d8otl>tQ=E}s5HooP^9=wluo(gX diff --git a/backend/shop/__pycache__/views.cpython-313.pyc b/backend/shop/__pycache__/views.cpython-313.pyc index b7fcf84e35bffe0140f26f34b3ef482eed996615..76c307ac5758c7b0513bc3c42656fc557d5c6e54 100644 GIT binary patch delta 6525 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 delta 5260 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 GJoz6lM5B8E