91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django html file upload 上傳圖片

發布時間:2020-06-12 13:20:16 來源:網絡 閱讀:770 作者:lvnian2009 欄目:開發技術




html file upload 上傳圖片


    第一步: 這是一個上傳圖片的按鈕
<form class="form-horizontal" method="post" action="{% url 'create_article' %}" enctype="multipart/form-data"> {% csrf_token %}
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">圖片</label>
    <div class="col-sm-10">
        <input type="file" name="head_img">
    </div>
  </div>
</form>

    上面這個按鈕的將會把你選擇本地的圖片發送到 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 <<a href="/article/%s/"> %s</a>> 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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神池县| 航空| 马鞍山市| 平遥县| 安徽省| 济宁市| 栾川县| 长垣县| 马鞍山市| 富民县| 益阳市| 池州市| 和龙市| 五家渠市| 鲜城| 资阳市| 郎溪县| 合肥市| 安塞县| 顺义区| 舒城县| 黄梅县| 广西| 乌拉特前旗| 宜宾县| 个旧市| 房山区| 苏州市| 定南县| 华安县| 章丘市| 余江县| 南京市| 海兴县| 镇巴县| 金昌市| 南江县| 赣州市| 卢湾区| 耿马| 延津县|