• Django学习手册


    view获取数据方法归纳:

    #请求meta数据
    request.mata(...)
        request.method(POST,GET,PUT)
      #从meta里面获取数据 request.path_info request.COOKIES
    #请求body数据 request.POST(从body里面获取数据) request.FILES(从body里面获取数据) request.GET request.xxx.getlist

    请求body数据(以下都是请求body数据)

    前端页面代码:(整个复制即可)

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    body{
    margin: 0;
    }
    .body_div{
    position: absolute;
    left: 40%;
    top: 10%;
    }
    label{
    display: inline;
    }
    </style>
    </head>
    <body>
    <div class="head_div">
    </div>
    <div class=" body_div">
    <h2>
    前端input控件 提交数据至后台
    </h2>
    <br>
    <form action="/index/" method="post" enctype="multipart/form-data">
    <p>text框:
    <label>text框:<input type="text" name="text_1" ></label>
    </p>
    <p>密码框:
    <label>pwd框:<input type="password" name="pwd_2" ></label>
    </p>
    <br>
    <p>单选框:
    <label for="r1">radio框1:</label><input value="1" type="radio" name="radio_3" id="r1" >
    <label for="r2">radio框2:</label><input value="2" type="radio" name="radio_3" id="r2" >
    <label for="r3">radio框3:</label><input value="3" type="radio" name="radio_3" id="r3">
    </p>
    <p>多选框:
    <label for="c1">checkbox框1:</label><input type="checkbox" value="1" name="checkbox_4" id="c1" >
    <label for="c2">checkbox框2:</label><input type="checkbox" value="2" name="checkbox_4" id="c2" >
    <label for="c3">checkbox框3:</label><input type="checkbox" value="3" name="checkbox_4" id="c3">
    </p>
    <br>
    <p>单选下拉框:
    <select name="select_5">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
    </select>
    </p>
    <p>多选下拉框:
    <select name="select_6" multiple="multiple">
    <option value="AA">AA</option>
    <option value="BB">BB</option>
    <option value="CC">CC</option>
    <option value="DD">DD</option>
    <option value="EE">EE</option>
    </select>
    </p>
    <br>
    <p>文本上传框:
    <input type="file" name="file_7" >
    </p>
    <input type="submit" value="提交" >
    </form>
    </div>
    </body>
    </html>

    前端提交给后台数据是根据 name 参数 传递的,传递的数值 是value 属性。

    text框:name= text_1

    pwd框:name= pwd_2

    radio框:name= radio_3

    checkbox框:name=checkbox_4

    select下拉框: name=select_5

    select 多选下拉框:name=select_6

    file文件上传: name=file_7

    后端views python代码:

    from django.shortcuts import render
    # Create your views here.
    def index(request):
        if request.method == "POST":
            t1 = request.POST.get("text_1",None)
            t2 = request.POST.get("pwd_2",None)
            t3 = request.POST.get("radio_3",None)
            t4 = request.POST.getlist("checkbox_4",None)
            t5 = request.POST.get("select_5",None)
            t6 = request.POST.getlist("select_6",None)
            # t7 = request.POST.get("file_7")
            t7 = request.FILES.get("file_7")
            print(
                "text:",t1,'-----',
                "password",t2,'-----',
                "radio",t3,'-----',
                "checkbox",t4,'-----',
                "select_单选",t5,'-----',
                "select_多选",t6,'-----',
                "文件上传",t7.name
            )
            f = open(t7.name, mode="wb")
            for i in t7.chunks():
                f.write(i)
            f.close()
    return render(request,"index.html")

     给定目录保存文件:(注意1.必须创建给定文件,2.当前目录存在时,目录文件不需要加/ )

        t7 = request.FILES.get("file_7")
        file_path = ''.join(('static/',t7.name))
        f = open(file_path, mode="wb")
        for i in t7.chunks():
            f.write(i)
        f.close()

    配置URL:

    测试获取到的数值:

    获取的文档:(在当前的目录里面)

    技术内核销售心
  • 相关阅读:
    oracle分析函数 Mr
    怎样去使用mkyong教程 Mr
    续spring事务管理之前的话spring声明式事务管理 Mr
    通过Maven去运行单元测试 Mr
    怎样将Excel数据导入Oracle Mr
    <魔域之书> Roguebook 存档修改器
    Padding Strings in Python(python字符串填充补齐)
    关于项目开发是引用类库的注意事项
    WCF揭秘随笔:Wcf入门感受
    验证控制组件功能增强,支持多验证器
  • 原文地址:https://www.cnblogs.com/Anec/p/9509638.html
Copyright © 2020-2023  润新知