久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Django實現前臺上傳并顯示圖片功能

瀏覽:124日期:2024-09-30 10:54:39

1. 前臺

templates/upload/upload.html

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body><form action='/myupload/upload/' method='post' enctype='multipart/form-data'> {% csrf_token %} 名字:<input type='text' name='name'><br> 頭像:<input type='file' name='avator'><br> <input type='submit' value='提交'></form></body></html>

2. 項目設定

settings.py

#添加

ALLOW_UPLOAD = [’jpg’, ’png’, ’jpeg’]

3.app設定

urls.py

from django.contrib import adminfrom django.urls import path, register_converter, re_pathfrom . import viewsurlpatterns = [ path(’’, views.index, name=’index’), # 上傳首頁 path(’upload/’, views.upload), # 上傳圖片]

views.py

from django.shortcuts import renderfrom .models import User,Articlefrom django.http import HttpResponsefrom django.conf import settingsfrom datetime import datetimeimport osfrom django.shortcuts import redirect, reverseimport hashlib# Create your views here.def index(request): users = User.objects.all() article = Article.objects.all() return render(request, ’myupload/index.html’, locals())def upload(request): if request.method == ’GET’: return render(request, ’myupload/upload.html’) else: name = request.POST.get(’name’) pic = request.FILES.get(’avator’) media_root = settings.MEDIA_ROOT # media allow_upload = settings.ALLOW_UPLOAD # ALLOW_UPLOAD # path = ’upload/{}/{}/{}/’.format(datetime.now().year, datetime.now().month, datetime.now().day) ’{:02d}’.format path = ’upload/{}/{}/{}/’.format(datetime.now().year,’{:02d}’.format(datetime.now().month), ’{:02d}’.format(datetime.now().day)) full_path = media_root + ’/’ + path # full_path = ’media/upload/2019/12/20’ if not os.path.exists(full_path): # 判斷路徑是否存在 os.makedirs(full_path) # 創建此路徑 # 要不要改圖片的名字 生成hash # 這塊要不要判斷圖片類型 .jpg .png .jpeg # ’/../../../myviews/setting.py’ print(pic) print(full_path) print(full_path+pic.name) if pic.name.split(’.’)[-1] not in allow_upload: return HttpResponse(’fail’) with open(full_path + ’/’ + pic.name, ’wb’) as f: for c in pic.chunks(): # 相當于切片f.write(c) User.objects.create(name=name, avator=path + pic.name) return redirect(’myupload:index’)

Django實現后臺上傳并顯示圖片功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 巴南区| 平南县| 托里县| 绥化市| 闽侯县| 南木林县| 公安县| 渭南市| 新丰县| 辛集市| 兴城市| 陵川县| 西丰县| 金阳县| 固镇县| 南宁市| 岑溪市| 乐山市| 南和县| 青神县| 修文县| 克拉玛依市| 沁水县| 普格县| 巫溪县| 保德县| 宁化县| 济阳县| 清水县| 寿光市| 独山县| 丽江市| 东安县| 徐州市| 红原县| 临夏县| 务川| 黄石市| 乳源| 临西县| 奈曼旗|