zoukankan      html  css  js  c++  java
  • python ajax学习

    django 文件上传

    1 更改上传文件的丑陋的格式

        <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            <input type="text" name="username">
            <div style="position: relative">
                <a >NB上传</a>
                <input type="file" name="img" style="opacity: 0.1;position: absolute;left: 0;">
            </div>
            <input type="submit" value="提交">
        </form>

    2 后台处理文件上传

    def upload(request):
        if request.method=='GET':
            return render(request,'app01/upload.html')
        if request.method=='POST':
            # print(request.POST.get('username'))
            # print(request.FILES.get('img'))
            img=request.FILES.get('img')  #img是对象,包含了文件的大小,名称,文件内容
            f=open(img.name,'wb')
            for line in img.chunks():
                f.write(line)
            f.close()
            return HttpResponse('upload file')

     django ORM的操作

    1跨表操作

    model.Person.objects.all().select_related('ut')  #如果操作有跨表的动作的话

    model.Person.objects.all().select_related('ut','nt') 

    2GROUP BY的操作

    from django.db.models import Count, Min, Max, Sum
    models.Tb1.objects.filter(c1=1).values('id').annotate(c=Count('num'))
    SELECT "app01_tb1"."id", COUNT("app01_tb1"."num") AS "c" FROM "app01_tb1" WHERE "app01_tb1"."c1" = 1 GROUP BY "app01_tb1"."id"

    3distinct 操作

    model.UserInfo.objects.values('data').distinct()

    4order_by操作

     model.UserInfo.objects.all().order_by('id',''name)

    5extra操作

    Entry.objects.extra(select={'new_id': "select col from sometable where othercol > %s"}, select_params=(1,))
    Entry.objects.extra(where=["foo='a' OR bar = 'a'", "baz = 'a'"])

    6only操作

    model.UserInfo.objects.filter(...).only('id','name')

    7using操作

    model.Person.objects.all().using('default')# 需要在settings.py 中定义数据库的连接字符串

     ajax学习

    原生的ajax是XMLHttpRequest对象

    function AjaxSubmit2() {
                var xhr = new XMLHttpRequest();
                xhr.onreadystatechange = function () {
                    if(xhr.readyState == 4){
                        // 接收完毕服务器返回的数据
                        console.log(xhr.responseText);
    
                    }
                };
                xhr.open('GET','/ajax1.html?p=123');
                xhr.send(null);
            }

     原生的ajax发送post请求   数据放在send方法中,需要设置请求头.

    function AjaxSubmit4() {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if(xhr.readyState == 4){
                // 接收完毕服务器返回的数据
                console.log(xhr.responseText);
            }
        };
        xhr.open('POST','/ajax1.html');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset-UTF-8');
        xhr.send("p=456");
    }
  • 相关阅读:
    shutil文件去重模块
    Nexus构建npm、yum、maven私有仓库
    centos7添加自定义服务到systemctl
    Sonatype nuxus私有仓库介绍
    rancher单节点备份和恢复
    rancher证书过期X509:certificate has expired or is not ye valid
    清理docker日志
    mysql 9 hash索引和B+tree索引的区别
    mysql 8 索引
    mysql 7 慢查询+慢查询工具
  • 原文地址:https://www.cnblogs.com/hexintong/p/9592025.html
Copyright © 2011-2022 走看看