django上傳圖片 後臺上傳和自定義上傳

後臺管理,上傳圖片
1.在static中創建media文件夾,media文件夾中再創建一個文件夾用來存放文件。

2.項目設置中上傳保存路徑

MEDIA_ROOT = os.path .join(BASE_DIR,'static/media')

3在model中設計模型類

其中  # 類型是ImageField, upload_to 指定的路徑是相對於MEDIA_ROOT的
(就是從設置路徑的基礎中static/media再進入booktext文件夾中)

4.遷移
python manage.py makemigrations
python manage.py migrate

5.登入後臺管理者權限admin,就科進行操作。

自定義上傳圖片
1.創建表單

配置相應的應用的urls和views.py 

思路導向
1輸入網址

def show_upload(request):
    return render(request, 'booktest/upload_pic.html')

2出現html頁面,
3當點擊提交時候

def upload_handle(request):
 """獲取上傳圖片
    pic = request.FILES['pic']獲取要上傳文件的這個對象
    # print(type(pic))
    # return HttpResponse('ok')
 創建一個文件,pic.name獲得這個文件的名稱
    save_path = '%s/booktest/%s'%(settings.MEDIA_ROOT,pic.name)

    with open(save_path,'wb') as f:
        for content in pic.chunks():
            # 獲取文件內容寫到穿創建文件中
            # pic.chunks() 拿到這個文件的內容
            f.write(content)

    PicTest.objects.create(goods_pic='booktest/%s'%pic.name)
在數據庫中保存上傳記錄
    return HttpResponse('ok')返回

返回的路由的第一個視圖函數









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章