2016-12-24 58 views
0

我没有讨论这个问题的代码。但更多的是一个概念问题。Django设计模式与引擎

假设用户会通过网页文件页面上传一些文件或通过页面输入一些参数。

Models.py将存储我需要存储在我的数据库中的所有数据。

我的问题是在用户通过表单提交网页数据之后。我应该在哪里放置处理逻辑?在forms.py?如果这是一个复杂的过程,那么这个代码应该是一个合适的设计模式?

+0

好。你可以从这里开始:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ – zEro

+0

为什么参考Django教程?我有点熟悉它。只需检查我是否应该将处理逻辑放在forms.py或其他地方? – aceminer

+0

如果您熟悉Django,那么您已经知道forms.py或models.py或anything-else.py只是系统中的一个模块或子模块。 models.py是允许识别所有模型的抽象。同样,forms.py表单。但是,如果处理过程是复杂的逻辑,那么你可能希望将逻辑放在utils.py中,并在表单处理过程中使用它。但是,所有这些都是您的选择,没有人可以在没有看到代码的情况下引导您。 – zEro

回答

1
  • 你不必一定要有仅views.py。您可以指定处理您的请求的任何其他地方。我想如果你有很多不同的要求,将它们按模块分开是一种很好的做法。所以你的view.py不会有1000个左右的方法。

enter image description here

  • 您可以处理在views.py将调用包含应用程序逻辑的另一个模块的所有请求。

enter image description here

1

在Django的典型模式中,您可以在应用程序的views.py文件中处理请求。简单地按照惯例,你可以自由地将你的代码放在任何地方,但是如果你正在学习和跟随教程,views.py通常就是这个逻辑所期望的地方。

https://docs.djangoproject.com/en/1.10/topics/http/views/

如果您的模型使用FileField,上传的文件不存储在数据库中,而上传的文件都存储在您的项目设置MEDIA_ROOT值指定的路径。数据库FileField存储对来自MEDIA_ROOT的文件路径的相对引用。

https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/