2016-03-07 52 views
3

我正在嘗試創建我的個人網頁。所以,我需要把在建議面板,其由前員工/朋友等含有建議將圖像保存在mysql/django的後端數據庫中是否是一種好的做法?

所以我計劃建立在Django的模型具有以下屬性: -

  1. AUTHOR_NAME
  2. author_designation
  3. author_image
  4. author_comments

我有followi在我的腦海NG的問題涉及到圖像部分: -

  1. 它是存儲在後端數據庫中的圖像好的做法(數據庫是結構化信息從我的理解)

  2. 如何存儲圖像所以縮放內容並管理它變得非常簡單?

+1

不要將圖像存儲在數據庫中,只存儲圖像文件的路徑。 – mertyildiran

回答

1

編號不好,特別是它的比例。

https://docs.djangoproject.com/en/1.9/howto/static-files/deployment/#serving-static-files-in-production

當你想在請求/響應週期會發生什麼,你就會知道你的Python腳本得到一些模塊解釋。所以如果你使用apache的話,mod_wsgi可以做這個工作。 通常,您不希望您的靜態文件由同一個進程提供服務,因爲這不是非常有效,靜態文件是靜態的。在一個典型的場景中,你會需要一個非常快速的網絡服務器,比如說nginx提供靜態內容而不用「思考」。這個代表團提供了一個非常有效和可擴展的設計。正如@Anentropic所說,你可以選擇在CDN上託管靜態媒體。

1

要做到這一點,最好的方法是將圖像存儲在您的服務器中某些特定的常規文件夾中。之後,您將數據庫中的字符串與要載入的圖像的路徑一起存儲。這將是一個更有效的方法來做到這一點。

2

總之:沒有。

使用Django內置的ImageField並讓您的web服務器從磁盤提供文件。

或者,您可以將ImageField與自定義storage backend(如django-storages)一起使用,然後將這些文件放在例如。亞馬遜S3,並讓他們從那裏服務(也許在前面添加類似CloudFront CDN的東西)

相關問題