Redirect admin login to first model list page
This commit is contained in:
17
app/admin.py
17
app/admin.py
@@ -120,8 +120,21 @@ class EnvCredentialProvider(Provider):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _admin_home(request: Request) -> str:
|
def _admin_home(request: Request) -> str:
|
||||||
"""Use trailing slash to avoid mount redirect (which may emit absolute host)."""
|
"""
|
||||||
return request.app.admin_path.rstrip("/") + "/"
|
Resolve a concrete admin page path.
|
||||||
|
|
||||||
|
fastapi-admin 1.0.x does not expose a root "/" view by default; the
|
||||||
|
first usable page is a model list route: /{resource}/list.
|
||||||
|
"""
|
||||||
|
admin_path = request.app.admin_path.rstrip("/")
|
||||||
|
for resource in getattr(request.app, "resources", []):
|
||||||
|
try:
|
||||||
|
if issubclass(resource, Model):
|
||||||
|
model_name = resource.model.__name__.lower()
|
||||||
|
return f"{admin_path}/{model_name}/list"
|
||||||
|
except TypeError:
|
||||||
|
continue
|
||||||
|
return f"{admin_path}{getattr(request.app.login_provider, 'login_path', '/login')}"
|
||||||
|
|
||||||
async def login_view(self, request: Request):
|
async def login_view(self, request: Request):
|
||||||
return self._template_response(
|
return self._template_response(
|
||||||
|
|||||||
Reference in New Issue
Block a user