2016-12-24 35 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/