Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django项目的体系结构_Python_Django_Django Apps - Fatal编程技术网

Python Django项目的体系结构

Python Django项目的体系结构,python,django,django-apps,Python,Django,Django Apps,我刚刚开始学习Django,我对Django项目的架构感到困惑 基本上,我想知道的是设计django应用程序的推荐方法,即:我在模型文件、视图文件中放入什么类型的代码,以及在哪里编写验证器等等 例如,假设在创建注册表以添加新用户时,我希望确保该用户没有使用数据库中已存在的用户名注册。根据我的观察,有三种方法 我可以在models.py文件中定义一个方法,并在从表单获取数据后调用它 我可以在views.py文件中定义一个方法并调用该方法 我可以在forms.py文件中编写自定义验证器或clean方

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

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

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

  • 我可以在models.py文件中定义一个方法,并在从表单获取数据后调用它
  • 我可以在views.py文件中定义一个方法并调用该方法
  • 我可以在forms.py文件中编写自定义验证器或clean方法
  • 作为一个初学者,我不知道什么样的方法才是最好的。因此,一套基本的规则可以帮助我决定在哪里编写什么类型的代码,这对我有很大帮助。
    谢谢

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

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

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


    对于新手来说,应用程序体系结构问题可能很难解决。“两勺Django”一书中的推荐包含了许多最佳实践。

    Django用户名字段默认情况下应该是唯一的。感谢您提供书籍推荐。我已经阅读了其中的1/3,到目前为止,它非常有用。