登陆 cookie 没有被正确设置,这是因为由 Django 发出的 cookie 中的域名和浏览器页面的域名不匹配。可以通过修改设置中的 SESSION_COOKIE_DOMAIN
选项来匹配你的域名。例如,如果你需要在浏览器中访问 "https://www.example.com/admin/",设置 SESSION_COOKIE_DOMAIN = 'www.example.com'
。
如果你确定你的用户名和密码都是对的,请检查你的用户账户中的 is_active
和 is_staff
被设为 True。管理员页面只允许这两项同时被设为 True 的用户访问。
ModelAdmin
类提供了自定义钩子(hooks),它允许你使用请求中的详细数据来修改一个已保存的对象。你可以从request中取出当前的用户对象,然后通过自定义 save_model()
钩子(hook)来更新一个反映用户编辑了的对象。参见 the documentation on ModelAdmin methods 中的示例。
ModelAdmin
类也提供了自定义沟子(Hook)来控制管理面板中的对象是否可见以及可修改。使用相同的技巧从 request 中提取出当前用户对象,然后自定义 get_queryset()
和 has_change_permission()
来控制管理面板中的对象是否可见以及可修改。
请仔细阅读“如何利用 mod_wsgi 部署 Django”文档中的 部署 admin 模块的静态文件。
如果没有相关联的对象,Django 不会显示 ManyToManyField
过滤器。
例如,如果您的 list_filter
包含 sites,并且你的数据库中没有站点,则不会显示“站点”过滤器。在这种情况下,按网站过滤将毫无意义。
不一致的行计数可能由缺少外键值或由将外键字段错误地设置为 null = False
造成。如果你有一个指向不存在对象的 ForeignKey
的记录,并且包含的外键是 list_display
,将不会显示在管理更改列表中,因为 Django 模型正在声明未作用在数据库级别的完整性约束。
你有几个选择。 如果您想要在 Django 自动生成的添加/更改表单上加载,您可以通过模型的类 Admin js parameter <modeladmin-asset-definitions>`将任意 JavaScript 模块附加到页面上。 该参数是一个 URL 列表,作为字符串,指向将通过 ``<script>` 标签包含在管理表单中的 JavaScript 模块。
如果你想要更灵活的使用表单,请随意为管理模块编写自定义视图。 管理模块是由 Django 官方提供支持的模块,你可以编写自定义的视图关联到身份验证,检查权限,并完成任何他们需要做的业务逻辑。
如果您想自定义管理界面的外观,请阅读下一个问题
如果你不喜欢它,你可以通过修改 CSS 样式文件以及关联的图片来定制管理员界面。这个网站使用 HTML 语法和大量的 CSS 钩子,所以任何你想要的改变都应该可以通过修改 CSS 样式表来实现。
管理可以让使用人员通过最新版本的符合 Web 标准的现代浏览器来体验所有功能。 在台式机上,这意味着 Chrome、Edge、Firefox、Opera、Safari等主流浏览器都可以无障碍访问管理站点。
在移动和平板电脑设备上,管理为符合 Web 标准的浏览器提供响应式体验。 这包括 Android 和 iOS 上的主要浏览器。
在支持的浏览器之间可能会有细微的风格差异,例如,某些浏览器可能不支持圆角。在渲染页面的时候会认为这些是可接受的差异。
The admin is intended to be compatible with a wide range of assistive technologies, but there are currently many blockers. The support target is all latest versions of major assistive technologies, including Dragon, JAWS, NVDA, Orca, TalkBack, Voice Control, VoiceOver iOS, VoiceOver macOS, Windows Contrast Themes, ZoomText, and screen magnifiers.
12月 05, 2023