formdata

Django知识整理四(choices参数,MTV与MVC模型,ajax介绍,ajax传json文件,ajax传文件,contentType前后端传输数据编码格式)

…衆ロ難τιáo~ 提交于 2019-12-02 21:11:53
choices参数 在表格中些字段只有一些固定的字段名,比如 用户的性别(男 女) 用户的学历(大专,本科,博士,硕士) 用户的工作状态(消极,积极) 客户来源 。。。 # 代码展示 class Userinfo(models.Model): username = models.CharField(max_length=32) password = models.IntegerField(default=123) choices = ( (1,'male'), (2,'female'), (3,'others') ) gender = models.IntegerField(choices=choices) # 针对choices字段 如果你想要通过输入数字获得所对应的中文 你不能直接点字段 # 固定句式 数据对象.get_字段名_display() 当没有对应关系的时候 该句式获取到的还是数字 # gender存的是数字 如果数字在上面的对应关系中 那么在取值的时候 可以通过 user_obj.gender # 数字 user_obj.get_gender_display() # 取到的就是数字对应的解释 # 如果存的数字不在范围内 拿到的还是数字本身 例题: record_choices = (('checked', "已签到"), ('vacate', "请假"), (

ajax

不羁岁月 提交于 2019-12-02 20:01:03
目录 choice参数 MTV与MVC模型 ajax 示例 ,计算器(简单加法) AJAX准备知识:JSON 什么是 JSON ? stringify与parse方法 编码格式种类总结 ajax传json格式的数据 ajax传文件 序列化 Django内置的serializers 数据在前端展示的三种方式 比较1 比较2 真正的序列化3 SweetAlert插件示例 和XML的比较 AJAX简介 AJAX常见应用情景 AJAX的优缺点 jQuery实现的AJAX views.py: $.ajax参数 JS实现AJAX(了解) AJAX请求如何设置csrf_token 方式1 方式2 方式3 练习(用户名是否已被注册) 功能介绍 案例分析 choice参数 主要是一种对应关系,存储到数据库中,而且用choice的时候,所有的情况都能够列举出来 choice参数 可以用做 用户性别 用户学历 用户工作状态 客户来源 ... class Userinfo(models.Model): name = models.CharField(max_length=32) password = models.IntegerField(default=123) choice = ( (1,'male'), (2,'female'), (3,'other') ) gender = models

choice参数、MTV与MVC模型、Ajax

£可爱£侵袭症+ 提交于 2019-12-02 19:53:44
choice参数、MTV与MVC模型、Ajax choice参数 choice 参数应用场景 用户性别 用户学历 用户工作状态 客户来源 ... 示例: choices = ( (1,'male'), (2,'female'), ) gender = models.IntegerField(choices=choices) # 就是把你想要的选择先写出来,放在一个对应的元祖里,优点就是使用起来更方便,减少代码冗余. # 调用的方法: from app01 import models user_obj = models.Userinfo.object.filter(pk=4).first() print(user_obj.username) print(user_obj.gender) #错误语法 # 针对choices字段 如果你想要获取数字所对应的中文,你不能直接点字段 # 固定句式 数据对象.get_字段名_display() 当没有对应关系的时候,该句式获取到的还是数字 print(user_obj.get_gender_display()) 更多应用场景: record_choices = ( ('checked', "已签到"), ('vacate', "请假"), ('late', "迟到"), ('noshow', "缺勤"), ('leave_early', "早退

ajax传送文件

為{幸葍}努か 提交于 2019-12-02 19:48:12
ajax传送文件 ajax传文件需要注意的事项 1、利用formdata对象 能够简单的快速的从前端传输数据 (普通键值 +文件),这就是阿贾克斯的优势了。不用分开传了。 2、有几个参数 : ​ 1.data:formdata对象 ​ 2.contentType:false ​ 3.processData:false <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script> </head> <body> <input type="text" name="username" id="t1"> <input type="text" name=

【1029 | Day55】AJAX上传文件

守給你的承諾、 提交于 2019-12-02 18:27:37
目录 1. AJAX上传文件 2. 注意事项 3. contentType前后端传输数据编码格式 4. 序列化组件 5. 补充 1. AJAX上传文件 需要利用内置对象 Formdata 该对象既可以传普通的键值,也可以传文件 # 获取input获取用户上传文件的文件的内容 // 1.先通过jquery查找到该标签 // 2.将jquery对象转换成原生的js对象 // 3.利用原生js对象的方法 直接获取文件内容 $('#t3')[0].files[0] $('#b1').click(function () { var myFormData = new FormData(); // 1.先生成一个formdata对象 myFormData.append('username',$("#t1").val()); // 2.朝对象中添加普通的键值 myFormData.append('password',$("#t2").val()); // 2.朝对象中添加普通的键值 // 3.朝对象中添加文件数据 // 1.先通过jquery查找到该标签 // 2.将jquery对象转换成原生的js对象 // 3.利用原生js对象的方法 直接获取文件内容 myFormData.append('myfile',$('#t3')[0].files[0]); $.ajax({ url:'', type:

Django篇--->七

Deadly 提交于 2019-12-02 18:13:46
Django查询 聚合查询 关键字:aggregate from django.db.models import Max,Min,Count,Sum,Avg 分组查询 关键字:annotate 1.最简单的规律 models后面点什么 就是按什么分组 F与Q查询 from django.db.modles import F,Q F 能够帮助你获取到表中字段所对应的数据 # 书籍的库存数与卖出数 models.Book.objects.filter(kucun__gt=F('maichu')) 因为filter过滤的条件的都是and连接 modesls.Book.objects.filter(Q(title='python'),Q(price=666)) modesls.Book.objects.filter(Q(title='python')|Q(price=666)) modesls.Book.objects.filter(~Q(title='python')|Q(price=666)) # Q进阶用法 q = Q() q.connector = 'or' q.children.append(('title','python')) q.children.append(('title__icontains','python')) q.children.append(('price'

Django与AJax

寵の児 提交于 2019-12-02 18:10:53
AJAX 什么是AJAX? AJAX不是JavaScript的规范,它的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。提交任务之后,不原地等待,直接执行下一行代码,任务的返回通过回调机制。 局部刷新,不整体刷新,而是界面莫个地方局部刷新 AJAX原理图 ajax的核心是js中的XMLHttpRequest,它复杂向服务器拿数据和把数据给浏览器 js实现ajax <!DOCTYPE html> <html lang="zh"> <head> <script type="text/javascript"> function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { alert('请求成功,响应完成') alert(xmlhttp.responseText); } else if(xmlhttp.readyState == 0){ alert('请求未初始化') } else if(xmlhttp.readyState == 1){ alert('服务器连接建立'

Django进阶(一)

荒凉一梦 提交于 2019-12-02 17:11:07
choice参数 choice参数 用户性别 用户学历 用户工作状态 客户来源 ... choices = ( (1,'male'), (2,'female'), (3,'others') ) gender = models.IntegerField(choices=choices) """ 1.如果我存的是上面元组中数字会怎么样 2.如果我存的数字不在元组范围内又会怎样 1.数字没有对应关系 是可以存的 """ from app01 import models user_obj = models.Userinfo.objects.filter(pk=4).first() print(user_obj.username) print(user_obj.gender) # 针对choices字段 如果你想要获取数字所对应的中文 你不能直接点字段 # 固定句式 数据对象.get_字段名_display() 当没有对应关系的时候 该句式获取到的还是数字 print(user_obj.get_gender_display()) 实例1 record_choices = (('checked', "已签到"), ('vacate', "请假"), ('late', "迟到"), ('noshow', "缺勤"), ('leave_early', "早退"), ) record =

django之choice、ajax初步

我与影子孤独终老i 提交于 2019-12-02 17:03:10
django之choice参数,ajax choice参数 应用场景:主要是用户性别、用户工作状态、成绩对应 ##在测试文件中运行,需要写以下几个模块 if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day62.settings") import django django.setup() choices = ( (1, 'male'), (2, 'female'), (3, 'others') ) gender = models.IntegerField(choices=choices) ##注意: """ 针对choices字段,如果想拿到数字所对应的的中文或者其他值 不能直接点字段 固定句式 数据对象.get_字段名_display() """ 执行下面两种语句 from app01 import models #1. user_obj = models.Userinfo.objects.filter(pk=2).first() print(user_obj.username) print(user_obj.gender) print(user_obj.get_gender_display()) ''' #会打印出来 nick 1 male #这样存在值的话

Django之Ajax

为君一笑 提交于 2019-12-02 17:00:19
1.Ajax简介 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程)     AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。 特点: 异步请求,局部刷新 2.局部刷新 如果是from表单提交之后,如果验证失败会自动刷新页面 使用Ajax能保证只刷新局部 示例: url from app01 import views urlpatterns = [ path('admin/', admin.site.urls), path('login/', views.login,name='login'), path('home/', views.home,name='home'), ] views from django.shortcuts import render,HttpResponse,redirect # Create your views here. def login(request): if request.method == 'GET': return render(request,'login.html') else: uname = request.POST.get(