覆盖Django管理员与创建新模板/视图

时间:2017-10-25 20:00:43

标签: python django

我是Django的总菜鸟,我来自PHP世界,我习惯于以不同的方式做事。

我正在构建一个应用程序,我想改变后端的外观,我想使用Bootstrap 4并添加许多自定义内容,例如基于权限的管理员观点,我想知道什么是最佳实践,或者更有经验的django开发者如何去做?

他们是否覆盖所有django.contrib.admin模板,还是构建自定义模板并在其旁边登录/注册,并仅为超级用户使用django.contrib.admin

什么是django方式?

2 个答案:

答案 0 :(得分:1)

Django admin旨在用于管理目的。对于所有意图和目的,它是数据库的直接接口。虽然我看到有些人使用admin构建面向客户的界面,但这绝对不是制作通用Django Web应用程序的方法。

您应该为模型定义视图。您可以使用内置API登录和验证用户。您最有可能只限制管理员访问内部用户。

对于模板,现代的做法是使用API​​动态获取数据并在Javascript中执行所有UI逻辑。 Django可以很好地用于为前端提供API。研究Django REST Framework。基本思想是为模型编写序列化器,并使视图函数将序列化数据提供给前端。

您可以使用旧式学校的方式,然后使用模板渲染您的页面。在这种情况下,您的视图将使用模型提供的数据呈现模板。

答案 1 :(得分:0)

是。管理页面实际上用于管理网页。对于用户登录和注册,您可以创建模板。但是,如果您希望后端看起来不同,那么您也可以调整管理页面,管理员登录页面的模板。您还可以拥有基于权限的管理员视图。只要您知道自己在做什么,可以过度使用默认设置。希望有所帮助。

相关问题