後臺管理,上傳圖片
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')返回
返回的路由的第一個視圖函數