1. 程式人生 > >django 上傳靜態檔案到雲(亞馬遜S3)的簡單設定

django 上傳靜態檔案到雲(亞馬遜S3)的簡單設定

django 的預設靜態路徑是儲存在本地的某些資料夾中的,要將靜態檔案的儲存路徑指向到雲,除了修改settings中的檔案路徑,還需要安裝相應的庫

下面是使用django將上傳的檔案直接儲存在亞馬遜s3上的配置,如有不當和錯誤請指正。

1. 申請S3雲端儲存,這裡不再細說

2. 安裝需要的 python 庫

    pip install boto3
    pip install django-storages

3. 在 settings.py 中新增設定     

INSTALLED_APPS 中新增 storages,和以下設定     
AWS_ACCESS_KEY_ID = 'your AWS_ACCESS_KEY_ID'  # 替換為自己的key ID
AWS_SECRET_ACCESS_KEY = 'your AWS_SECRET_ACCESS_KEY'  # 替換為自己的key
AWS_STORAGE_BUCKET_NAME = 'sibtc-static'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'mysite/static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
MEDIA_ROOT = '/media/'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

    參考資料:  

4. 靜態檔案同步: (不想同步的靜態檔案,可以在settings.py中將這些應用暫時遮蔽掉,對應的靜態檔案就不會同步了)
        python manage.py collectstatic

成功後點擊圖片地址能看到是從s3過來的    

相關推薦

django 靜態檔案(S3)的簡單設定

django 的預設靜態路徑是儲存在本地的某些資料夾中的,要將靜態檔案的儲存路徑指向到雲,除了修改settings中的檔案路徑,還需要安裝相應的庫 下面是使用django將上傳的檔案直接儲存在亞馬遜s3上的配置,如有不當和錯誤請指正。 1. 申請S3雲端儲存,這裡不再細說

S3,利用curl獲取檔案列表

#!/bin/bash date=$(for i in $(date "+%H") ; do date "+%a, %d %b %Y $(( 10#$i-8)):%M:%S GMT" ; done) token="token" secret="祕鑰" query2="路徑,不

Django文字檔案

前置條件: 1.建立了名為mydjango的project 2.建立了名為learn的app 3.learn中建立了模板資料夾templates 專案結構圖如下: 具體流程如下: 1.在應用learn中新建forms.py,編寫檔案上傳form物

aws s3儲存資源

話不多說,上程式碼!效果為點選圖片上傳!不好用你找我 <template> <div> <div style="width: 102px;height: 102px;border-radius: 50%;border:1px sol

Django檔案

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body&g

開發 MWS中feed修改商品資訊 通過GetFeedSubmissionResult來判斷資料是否成功

GetFeedSubmissionResultSample.php 中的方法如下 $config = array ( 'ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' =

使用git將檔案到碼

初始化步驟 1.安裝git https://git-scm.com/downloads/ 2.新建一個資料夾,右鍵Git Bash Here,彈出命令視窗 3.輸入git init,生成.git資料夾 4.配置使用者資訊 git config user.name 使

阿里伺服器 ---- 下載檔案

1.xshell 使用xshell來操作服務非常方便,傳檔案也比較方便。 就是使用rz(上傳),sz(下載) 首先,伺服器要安裝了rz,sz   伺服器執行  yum install lrzsz 2.兩個伺服器之間 傳輸檔案  使用scp命令

檔案七牛伺服器(看完就會)

2018年11月13日星期日 隨筆 筆記 1、上傳檔案到七牛雲 註冊登陸到七牛雲,需要認證資訊才能建立個人儲存空間; 儲存區域介紹 最近更新時間:2018-09-09 15:49:21 儲存區域 地域簡稱 上傳域名

Django檔案的那些引數

# ################## 預設檔案上傳配置 ######################## from django.core.files.uploadhandler import MemoryFileUploadHandler from django.core.files.upload

通過git將本地檔案到碼的方面

1. 在碼雲上建立專案在碼雲首頁頂部,下圖所示,右上角頭像旁邊的加號,滑鼠移上去會顯示下拉的,點選“新建專案”。 2. 安裝Git 下載完成後安裝即可,安裝過程中沒有注意事項,全部預設一直next直到結束!3.配置Git工具安裝完成以後從桌面或開始選單開啟Git工具{點選Git bash 開啟}。 3.

檔案至阿里之OssUtil工具類的使用

什麼是Oss? 阿里雲物件儲存服務(Object Storage Service,簡稱OSS)為您提供基於網路的資料存取服務。使用OSS,您可以通過網路隨時儲存和呼叫包括文字、圖片、音訊和視訊等在內的各種非結構化資料檔案。 簡單來說,Oss支援任意型別的檔案遠端儲存(檔案型

php使用新浪Storage儲存下載檔案,建立bucket、Bucket 操作、Object 操作,Object 下載操作,Object 刪除操作、Object 複製操作,生成一個外網能夠訪

<?php //新浪雲 Storage PHP use use sinacloud\sae\Storage as Storage; // 方法一:在新浪雲執行環境中時可以不傳認證資訊,預設會從應用的環境變數中取 $s = new Storage();

Django基礎(17): 如何處理檔案檔案格式驗證及Ajax檔案示範(附GitHub原始碼)

小編我今天要寫篇值得大家收藏的文章。我將重點解釋Django上傳處理檔案中需要考慮的重要事項,並提供一般檔案上傳及Ajax檔案上傳的示範(附GitHub原始碼)。如果你的專案需要用到檔案上傳,你可以從GitHub獲取原始碼,簡化你的開發。 Django檔案上傳需要考

圖片等檔案到阿里的STS臨時授權訪問的配置詳解

        當然我也不想把所有步驟傻瓜式的一步一步寫出來,那樣身為一名開發人員就失去了某些意義了,希望你看到我這篇部落格時是已經跟著官方文件操作過失敗後。我先說下大概的思路。首先,在阿里雲官網上得開通訪問控制檯/訪問控制/物件儲存OSS;在OSS中新建一個bucket

檔案到阿里的小操作_java

public WebResponse upload(@RequestParam("file")MultipartFile file) throws Exception{ String uuid

JavaScript進階 九 JS實現本地檔案至阿里伺服器

JS實現本地檔案上傳至阿里雲伺服器 前言       在前面的部落格《 JavaScript進階(八)JS實現圖片預覽並匯入伺服器功能》(點選檢視詳情)中,實現了JS將本地圖片檔案預覽並上傳至阿里雲伺服器的操作。這次需要實現將本地打包好的檔案上傳至阿里雲伺

七牛 php sdk 檢視 (單檔案,多檔案) 刪除

下載sdk   開啟php擴充套件中的php_curl upload_max_filesize 20M 更改上傳檔案的大小 max_execution_time 0 php上傳大於9M 上傳找不到檔名,因為上傳時間預設30s,所以需要修改php.ini裡的相關的引數

django程式碼搭建到AWS虛擬機器的apache2,並繫結指定域名

前提: 伺服器上各軟體的版本一覽(部分預設已安裝,部分需要自己安裝) 1) 伺服器是:亞馬遜AWS免費版EC2 2) 伺服器的作業系統是:Ubuntu 16.04 3) 伺服器上安裝的python版本為:python 2.7.12 4) 伺服器上django版本為:djan

Django檔案(.txt .php .py .jpg .pdf .doc所有型別的檔案原理都一樣)基本原理:

1、上傳檔案基本原理: ①、index.html檔案如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>檔案上傳頁<