【问题标题】:Turn Django project into MVC(Model, View, Control) Structure by move all the apps model, view file in different folder通过移动所有应用程序模型,将Django项目转换为MVC(模型,视图,控制)结构,查看不同文件夹中的文件
【发布时间】:2021-07-08 15:46:44
【问题描述】:

我想更改我的项目结构,以便我的项目遵循 MVC 结构。

目前我的项目结构:

  • My_Ecom_project
    • App_Login
      • admin.py
      • apps.py
      • forms.py
      • models.py
      • urls.py
      • views.py
    • App_Order
      • admin.py
      • ....
      • views.py
    • App_Shop
      • ....
    • My_Ecom_Project
      • 初始化.py
      • settings.py
      • urls.py
      • wsgi.py
    • 静态
      • ...
    • 模板
      • ...
    • mange.py

我想将其更改为:

  • My_Ecom_project
    • App_Login
      • admin.py
      • apps.py
      • forms.py
      • models.py
      • urls.py
      • views.py
    • App_Order
      • admin.py
      • ....
      • views.py
    • App_Shop
      • ....
    • MVC 结构*****Add MVC Structure folder here****
      • 型号
        • App_Login
          • models.py
        • App_Order
          • models.py
      • 查看
        • 模板
      • 控制器
        • App_Login
          • views.py
        • App_Order
          • views.py
    • My_Ecom_Project
      • 初始化.py
      • settings.py
      • urls.py
      • wsgi.py
    • 静态
      • ...
    • 模板
      • ...
    • manage.py

我想像上面一样添加一个 MVC 结构文件夹,并将所有 models.py 保存在模型文件夹中,views.py 保存在控制器文件夹中,模板保存在视图文件夹中

【问题讨论】:

  • 我会先问自己为什么你想偏离标准的项目结构,然后考虑这是否值得你花时间。在我自己看来,Django 是一个约定优于配置框架,因此偏离项目结构等约定只会让你的生活更加困难。
  • 感谢您的关注。我必须根据主管的要求来练习 MVC 架构。

标签: python-3.x django django-models django-views django-forms


【解决方案1】:

我已经找到了解决方法,如果将来有人需要,我会发布这个答案。我为实现 MVC 结构所遵循的所有步骤:

  1. 首先,我使用 django-admin 命令创建了一个项目。

  2. 然后我在主项目文件夹中创建了“MVC Structure”文件夹。

                 `****************View*****************`
    
  3. 我在其中创建了一个“查看”文件夹,并将我所有的静态、媒体、模板保存在那里。

  4. 另外,创建 forms.py 并在 View 文件夹中创建一个 init.py 文件。

  5. 在 settings.py 中相应地添加静态、媒体和模板目录路径。

  6. 然后使用 py manage.py startapp Model 命令创建了一个名为 Model 的 App。

                  `****************Model*****************`
    
  7. 将应用移动到“MVC 结构”文件夹中。

  8. 在 settings.py 中将“MVC Structure.Model”添加到名为“Installed_Apps”的数组中

  9. 现在,将所有与模型相关的代码保存到模型应用程序 models.py 文件中。

  10. 由于 MVC Structure 文件夹名称中有空格,我使用 import 函数来导入模块或包。

  11. 在完成models.py和admin.py中的所有事情之后,我为控制器应用程序进行了迁移。

              `****************Controller*****************`
    
  12. 我创建了另一个名为 Controller 的应用程序,并完成了从 5 到 7 的所有步骤。

  13. 之后,我将所有视图代码保存到 Controller 应用程序的 views.py 文件中。

  14. 我成功地将整个结构从 MVT 更改为 MVC 架构。

从不同的应用程序或文件夹导入东西: _models = import("MVC Structure.Model.models") _models = _models.Model.models

现在,我可以使用 _models 变量来处理任何模型。例如:_models.User 表单、视图或任何其他模块也是如此。

【讨论】:

    猜你喜欢
    • 2018-12-23
    • 2013-07-23
    • 1970-01-01
    • 2011-01-17
    • 2017-05-29
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    相关资源
    最近更新 更多