管理后台在背后是如何工作的呢?相当简单。启动服务器时,Django 运行 admin.autodiscover() 函数。
在早期的 Django 版本中,要在 urls.py 文件中调用这个函数,但是现实 Django 会自动运行它。这个函
数迭代 INSTALLED_APPS 设置,在安装的各个应用中查找一个名为 admin.py 的文件。如果应用中存在这个
文件,就执行里面的代码。在 books 应用的 admin.py 文件中,我们调用 admin.site.register() ,在管理
后台中注册各个模型。只有注册的模型才能在管理后台中显示。 django.contrib.auth 应用也有 admin.py
文件,因此管理界面中才显示有“Users”和“Groups”。其他 django.contrib 应用,如 django.con-
trib.redirects ,也把自己添加到管理后台中,从网上下载的很多第三方 Django 应用程序也会这么做。
其实,Django 管理后台也是一个 Django 应用程序,有自己的模型、模板、视图和 URL 模式。你的应用
之所以有管理后台,是因为你在 URL 配置中设置了——这与设置自己编写的视图一样。你可以在你下
载的 Django 代码基中查看 django/contrib/admin 里的代码,查看它的模板、视图和 URL 配置。但是,
不要直接修改任何代码,因为里面有众多定制管理后台的钩子。阅读 Django 管理后台的代码时记住一
点,在读取模型的元数据方面它做了相当复杂的操作,所以可能要花点时间才能理解。
django管理后台的运作方式
内容版权声明:除非注明,否则皆为本站原创文章。