天天看点

Django前端基础

准备js,jq

js写在head里,jq写在body里

bootstrap https://v3.bootcss.com/

databases http://www.datatables.club/

sweetalert http://mishengqiang.com/sweetalert

Django里要设置下static 的目录,和app 同等级目录

STATICFILES_DIRS = [

os.path.join(BASE_DIR, 'static/')

]

<link rel="stylesheet" type="text/css" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}"/>

<link rel="stylesheet" type="text/css" href="{% static 'sweetalert-1.0.1/dist/sweetalert.css' %}"/>

<link rel="stylesheet" type="text/css" href="{% static 'DataTables-1.10.15/media/css/dataTables.bootstrap.min.css' %}"/>

<script type="text/javascript" src="{% static 'jquery/jquery-1.12.4.js' %}"></script>

<script type="text/javascript" src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>

<script type="text/javascript" src="{% static 'sweetalert-1.0.1/dist/sweetalert.min.js' %}"></script>

<script type="text/javascript" src="{% static 'DataTables-1.10.15/media/js/jquery.dataTables.min.js' %}"></script>

<script type="text/javascript" src="{% static 'DataTables-1.10.15/media/js/dataTables.bootstrap.min.js' %}"></script>

1、表格table,需要用到bootstrap(css) databases(jq)

2、jq,js中的id 属性 用#,class 用.

比如定义 id=table_use 那用jq,就是jQuery('#table_use'),class 用jQuery('.table_use')

3、写js,jq 必须在script 里写,jq就写在jQuery(document).ready(function () {});里

<script type="text/javascript">

jQuery(document).ready(function () {

Query('#table_user').方法 ==》找到id=table_user后 ,然后再用什么方法

</script>

通过ajax的方式把数据传到后端,然后后端返回数据到前台

ajax: Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)

调用方式:

url:后端请求的地址

data:发送到后端的数据到请求的地址上

function(result) {console.log(result)} :请求成功后,后端return 返回的数据;console.log(result);返回的是一个字典格式

json : 返回的数据格式

post

jQuery.post(url,data,function(result) {console.log(result)},'json')

get

jQuery.get(url,data,function(result) {console.log(result)},'json')

href="javascript:void(0)" 禁用a标签跳转

定义一个errors 的列表,循环服务器返回的errors格式为:errors:{name: "用户名已存在", password: "密码不一致", tel: "号码格式不对", age: "年龄格式不对"},变量k,v;通过push将v加入到自定义的errors中;push相当于list.append(v)

var errors = [];

jQuery.each(result['errors'], function (k, v) {

errors.push(v);

});

sweetalert:

closeOnCancel: true 点击退出框 退出,为false则不退

服务器端返回json的格式数据:

from django.http import HttpResponse,JsonResponse

return JsonResponse({'code':400,'errors':errors}) ===》返回的数据相当于result

code:200 成功返回

code:400 服务器返回错误 (比如验证失败)

code:403 未登录