<b id="wionh"></b>

<u id="wionh"><address id="wionh"><meter id="wionh"></meter></address></u>

Django用sql原生方法操作基本信息添加到數據庫

時間:2022-03-27 21:12:55 類型:python
字號:    

Django用sql原生方法操作基本信息添加到數據庫的視圖及模板示例

視圖頁面:

from django.http import HttpResponse
from django.shortcuts import render
from django.db import connection
import time,uuid
from django.conf import settings

def add(request):
    if request.method == "GET":
        return render(request,'admin/student/add.html')
    elif request.method == "POST":
        result = request.POST.dict()
        hobby  = request.POST.getlist("hobby")
        # getlist('hobby') 用于接收多個信息, 通常是 多選框
        result['hobby'] = ",".join(hobby)
        result['addtime'] = time.time()
        del result['csrfmiddlewaretoken']

        # 文件 上傳
        try:
            file = request.FILES["file"]   #如果沒有選擇文件上傳,就會有 異常
            list = file.name.split(".")
            ext = list[-1]
            newname = uuid.uuid1().hex + "." + ext
            #生成新的文件名
            ext_tup = ("gif", "png", "jpeg", "jpg")
            if ext not in ext_tup:
                return HttpResponse("<script>alert('只能上傳圖片');history.back();</script>")
            #imgname = "./statics/up/" + newname
            imgname   = settings.UPLOAD_PATH + newname
            # 在setting文件中設置 UPLOAD_PATH

            destination = open(imgname, 'wb+')
            for chunk in file.chunks():
                destination.write(chunk)
        except Exception as err:
            print(err)
            newname = ''
        result['pic'] = newname
        #設置上傳文件名

        cursor = connection.cursor()
        sql = """insert into student(name,sex,blood,hobby,intro,addtime,pic)values('{name}','{sex}','{blood}','{hobby}','{intro}','{addtime}','{pic}')"""\
            .format(**result)
        
        num = cursor.execute(sql)

        return HttpResponse("添加成功")

模板頁面:

<div class="form">
    <form action="/admin/student/add" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        <li>
             姓名: <input type="text" name="name">
        </li>
        <li>
             性別: <input type="radio" name="sex" value="男" checked> 男
                   <input type="radio" name="sex" value="女">
        </li>
        <li>
             血型: <select name="blood">
                        <option value="A">A型</option>
                        <option value="B">B型</option>
                        <option value="AB">AB型</option>
                        <option value="O">O型</option>
                    </select>
        </li>
        <li>
             愛好:
            <input type="checkbox" name="hobby" value="籃球">籃球
            <input type="checkbox" name="hobby" value="足球">足球
            <input type="checkbox" name="hobby" value="網球">網球
            <input type="checkbox" name="hobby" value="排球">排球
            <input type="checkbox" name="hobby" value="臺球">臺球

        </li>
        <li>
            照片:
            <input type="file" name="file">
        </li>
        <li>
             介紹:
            <textarea name="intro" ></textarea>
        </li>
        <li>
            <input type="submit" value="提交">
        </li>
    </form>
</div>


中文无码妇乱子二区三区_久久亚洲精品无码福利播放_毛片一级_日韩aⅴ无码久久精品免费

<b id="wionh"></b>

<u id="wionh"><address id="wionh"><meter id="wionh"></meter></address></u>

<