Django Admin远程服务器列手动排序失效,本地正常问题排查
Django Admin 远程部署后排序功能异常问题
本地环境下,Django Admin无需在Model中额外配置,即可通过点击列头对表格进行排序,点击后列头会显示排序箭头。相关代码如下:
admin.py
from django.contrib import admin from .models import User from .resources import UserAdminResource from import_export.admin import ExportActionModelAdmin class UserAdmin(ExportActionModelAdmin, admin.ModelAdmin): resource_class = UserAdminResource list_display = [f.name for f in User._meta.fields] list_display.remove("id") admin.site.register(User, UserAdmin)
resources.py
from import_export import resources from .models import User class UserAdminResource(resources.ModelResource): class Meta: model = User
models.py
from django.db import models from django.conf import settings class User(models.Model): name = models.CharField( max_length=256, verbose_name=_("Name"), null=False ) address = models.CharField( max_length=256, verbose_name=_("Address"), null=True, blank=True ) city = models.CharField( max_length=256, verbose_name=_("City"), null=True, blank=True ) class Meta: verbose_name = _("User") verbose_name_plural = _("Users") def __str__(self): return self.name
部署到远程服务器后,点击列头时页面短暂闪烁,URL虽变为类似server.org/admin/lorem/user/?o=2的形式,但表格并未排序。本地与远程为同一代码分支、相同Docker环境,仅浏览器网络请求存在差异。后续测试发现,带端口访问(如server.org:80/admin/lorem/user/?o=2)时排序功能正常,推测问题可能与Nginx转发配置有关。
环境版本:Django 4.1.2 / Python 3.9.14
内容的提问来源于stack exchange,提问作者swiss_knight
相关产品推荐
相关产品推荐

