• 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");
    }
  • 相关阅读:
    Redis-安装
    Redis-介绍
    Redis 教程(转)
    C# Redis 帮助类
    sublime text3---Emmet:HTML/CSS代码快速编写神器
    Sublime Text3 Package Control和Emmet插件安装方法
    vs2010音频文件压缩 调用lame_enc.dll将WAV格式转换成MP3
    vs学习过程中遇见的各种问题
    vs2010中添加dll文件
    解决angular11打包报错Type 'Event' is missing the following properties from type 'any[]': ...Type 'Event' is not assignable to type 'string'
  • 原文地址:https://www.cnblogs.com/hexintong/p/9592025.html
Copyright © 2020-2023  润新知