Django 项目的架构

Architecture of a Django project

我刚开始学习 Django,我对 Django 项目的架构感到困惑。

基本上我想知道的是设计 Django 应用程序的推荐方法,即:我将什么类型的代码放入模型文件、视图文件以及我在哪里编写验证器等

例如,假设在创建注册表单以添加新用户时,我想确保用户没有使用数据库中已存在的用户名进行注册。根据我的观察,有三种方法可以做到。

  1. 我可以在 models.py 文件中定义一个方法,并在从表单获取数据后调用它。
  2. 我可以在 views.py 文件中定义一个方法并调用该方法。
  3. 我可以在 forms.py 文件中编写自定义验证器或干净方法。

作为初学者,我对哪种方法最好感到困惑。因此,要遵循的一组基本规则可以帮助我决定在何处编写哪种类型的代码,这对我有很大帮助。 谢谢

不出所料,一般建议将您的视图代码放在 views.py 中,您的模型代码放在 models.py 中,您的表单代码放在 forms.py 中。

您可以或多或少地将代码放在任何您想要的地方,但作为初学者最好坚持这些建议。

由于您想确保添加的用户不在数据库中,最好在视图代码中处理,但是使用模型方法检查新用户原则上没有错save()s 用于复制。这是其他地方是否需要该功能的问题。

应用程序架构问题对于新手来说可能很困难。书中的建议 "Two Scoops of Django" 包含许多最佳实践。