Django html file upload 上传图片
admin
2023-08-03 14:26:59
0




html file upload 上传图片


    第一步: 这是一个上传图片的按钮
 {% csrf_token %}
  
    图片
    
        
    
  
    上面这个按钮的将会把你选择本地的图片发送到 create_article  这个url条目中处理。    第二步:create_article这个url条目将交给下面views.py的内容处理    def create_article(request):     if request.method == "GET" :         return  render(request,'create_aritcle.html')     elif request.method == "POST" :         print request.POST         print '----------'         print request.FILES       ##查看上传图片的路径         bbs_generater = utils.ArticleGen(request)         res = bbs_generater.create()         html_ele ="""         Your article < %s> has been created successfully !!!,         """ %(res.id, res.title)         return HttpResponse(html_ele)     第三步:上面的utils 模版内容如下: #!/usr/bin/python # -*- coding: utf-8 -*- __author__ = 'gaogd' import  os import  models from s10day12bbs import settings class ArticleGen(object):     def __init__(self,request):         self.requset = request     def parse_data(self):         form_data = {         'title' : self.requset.POST.get('title'),         'content' : self.requset.POST.get('content'),         'summary' : self.requset.POST.get('summary'),         'author_id'  : self.requset.user.userprofile.id,         'head_img': '',         'category_id' : 1          ##这里应该是用户选择的才对         }         return form_data     def create(self):         self.data = self.parse_data()         bbs_obj = models.Article(**self.data)         bbs_obj.save()         filename = handle_upload_file(self.requset,self.requset.FILES['head_img'])  #获取图片路径并保存到数据库         bbs_obj.head_img = filename         bbs_obj.save()         return bbs_obj     def update(self):         pass def handle_upload_file(request, file_obj):     upload_dir = '%s/%s' % (settings.BASE_DIR, settings.FileUploadDir)     if not os.path.isdir(upload_dir):         os.mkdir(upload_dir)     print  '---->', dir(file_obj)     with open('%s/%s' % (upload_dir, file_obj.name), 'wb') as destination:         for chunk in file_obj.chunks():             destination.write(chunk)     return file_obj.name     第二步:查看上传图片的路径        requset.FILES['head_img']        request.FILES       ##查看上传图片的路径     第三步: 获取图片路径并保存到数据库。     ##这个是图片处理的重点     def handle_upload_file(request, file_obj):         upload_dir = '%s/%s' % (settings.BASE_DIR, settings.FileUploadDir)         if not os.path.isdir(upload_dir):             os.mkdir(upload_dir)         print  '---->', dir(file_obj)         with open('%s/%s' % (upload_dir, file_obj.name), 'wb') as destination:             for chunk in file_obj.chunks():                 destination.write(chunk)         return file_obj.name


相关内容

热门资讯

脉流科技获WIPO全球奖 本报讯 (记者 张苗 李洁薇 实习生 金玉鑫) 当地时间7月10日,在瑞士日内瓦举行的2026年联合...
山东济宁:让机器人“跑”进千行... 盛夏时节,孔孟之乡迎来一场科技与产业深度交融的大会。7月11日至13日,由山东省机器人行业协会、中国...
外交部亚洲司负责人就日方涉“南... 2026年7月12日,外交部亚洲司负责人就日本外相炒作“南海仲裁案裁决”出台十年发表谈话、日伙同他国...
全球首款可变形个人机器人,上纬... IT之家 7 月 12 日消息,上纬新材今日发布启元 T1 实机视频,号称“全球首款可变形个人机器人...
腾讯重仓一个IPO 图片来源:视觉中国 作者/杨继云 报道/投资界PEdaily 深圳超级IPO来了。 日前,深圳云豹智...
乌方称“俄军9成导弹和无人机有... 近日,乌克兰总统顾问弗拉修克在接受日本共同社的采访时声称,俄军在进攻乌克兰时使用的巡航和弹道导弹及无...
美国驻阿曼使馆发布“就地避险”... 当地时间7月12日,美国驻阿曼大使馆向阿曼境内部分地区发布“就地避险”提醒。美国驻阿曼使馆表示,鉴于...
风雨里的守望——广西防汛抗洪一... ↑ 7月11日,在通往广西南宁横州市镇龙乡的道路上,救援人员徒步向受困地区进发(无人机照片)。近期,...
特大暴雨!“巴威”即将进入安徽... 今年第9号台风“巴威”登陆后深入内陆,将携大量水汽影响安徽,今明两天(7月12日至13日)为台风雨核...
油烟机自动翻盖打不开了 油烟机自动翻盖打不开了的原因有三个。第一,可能是控制面板故障或者附着的油污太多了。第二,油烟机控制系...