<noframes id="7xbfr"><pre id="7xbfr"><output id="7xbfr"></output></pre>

      <big id="7xbfr"><font id="7xbfr"><listing id="7xbfr"></listing></font></big>
        <p id="7xbfr"></p>
        <menuitem id="7xbfr"></menuitem>

          <video id="7xbfr"><mark id="7xbfr"><listing id="7xbfr"></listing></mark></video>
            <form id="7xbfr"></form>

          <delect id="7xbfr"><var id="7xbfr"></var></delect>

          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>


          黄网站免费 <