fix(admin): Django 自带后台挪到 /django-admin/,/admin/* 回落 SPA,修后台刷新 404

前端平台后台用客户端路由 /admin/*,但 nginx 把 /admin/ 反代给了 Django(只有自带后台),
刷新 /admin/prompts 等 → Django 404。把 Django 后台挪 /django-admin/、nginx 同步改,
/admin/* 落到 try_files → index.html(SPA 路由)。Django admin 命名空间仍是 admin,reverse 不变。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-24 02:04:08 +08:00
co-authored by Claude Opus 4.8
parent fd596776e2
commit 51d5010c43
2 changed files with 5 additions and 2 deletions
+3 -1
View File
@@ -5,7 +5,9 @@ from apps.common.views import health_check
urlpatterns = [
path("admin/", admin.site.urls),
# Django 自带后台挪到 /django-admin/:让前端 SPA 平台后台独占 /admin/*(否则 /admin/xx 刷新被
# nginx 反代给 Django → 404)。Django admin 命名空间仍是 "admin",reverse 不受影响。
path("django-admin/", admin.site.urls),
path("api/health/", health_check, name="health-check"),
path("api/auth/", include("apps.accounts.urls")),
path("api/products/", include("apps.products.urls")),
+2 -1
View File
@@ -34,7 +34,8 @@ server {
proxy_read_timeout 300s;
}
location /admin/ {
# Django 自带后台(已从 /admin/ 挪到 /django-admin/);/admin/* 留给前端 SPA 平台后台,走底部 try_files 回落 index.html
location /django-admin/ {
proxy_pass http://airshelf_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;