首页>>后端>>Python->js怎么传值给django?

js怎么传值给django?

时间:2023-12-20 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关js怎么传值给django的相关内容,希望对大家有所帮助,一起来看看吧。

前台JS怎么传数据给Django框架?

js 中通过ajax传递过去啊

你那用的是模板吧,在python 中定义,然后返回html模板就可以了,不需要js呀

js赋值 怎么传值赋值

要说js的赋值方式时首先要说明js的数值类型:基本类型和引用类型。

1、基本类型

基本的数据类型有:undefined,boolean,number,string,null。 基本类型存放在栈区,访问是按值访问的,就是说你可以操作保存在变量中的实际的值。

当基本类型的数据赋值时,赋得是实际的值,a和b是没有关联关系的,b由a复制得到,相互独立。(字面量的才是基本类型)

var a=10;

var b=a;

console.log(a+','+b);    // 10,10

a++;

console.log(a+','+b)  // 11,10

2、引用类型

引用类型指的是对象。可以拥有属性和方法,并且我们可以修改其属性和方法。引用对象存放的方式是:在栈中存放对象变量标示名称和该对象在堆中的存放地址,在堆中存放数据。

对象使用的是引用赋值。当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在堆中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。

3、数组是引用类型

我们先来看一个例子:

var a = [1,2,3];

var b = a;

a = [4,5,6];

alert(b); //[1,2,3]

好像数组是基本类型一样。。,但是:

var a = [1,2,3];

var b = a;

a.pop();

alert(b); //[1,2]

这是怎么回事?因为:(知乎解释)

a = [4,5,6];//改变的是a引用本身,没有改变数组对象,a和b没有了关系。

a.pop();//改变的是数组对象,a引用没有改变。

b = a;//该操作后,b直接指向数组对象,不是b指向a,a再指向数组。

//所以改变a引用并不会对b引用造成影响,改变数组对象可以。

这个问题就跟我之前在React todo-list 一篇中提到的问题一样:

var tasks=this.state.data;

tasks=tasks.filter(function(i){

return i.index!=taskId;

});

由于filter函数是返回一个新的数组,虽然仍然用tasks去接收,但这时候tasks的指向已经是新数组啦,所以tasks和data已经不在有关系。(concat也是返回新数组)

而push和splice函数是在原数组上操作,所谓在原数组操作,指的是指向不变,所以tasks和data是相关联的。

4、参数传递

js的函数参数传递为值传递。

当传入的是 基本类型的参数时:就是复制了份内容给i而已,i与age之间没有关系。

function setAge(i)

{

alert(i);//24

i = 18;

alert(i);//18,i的改变不会影响外面的age

};

var age = 24;

setAge(age);

alert(age);//24

当传入的参数为引用类型时:

function setName(obj)

{

obj.name = 'haha';

};

var obj2 = new Object();

setName(obj2);

alert(obj2.name);    //  haha

这看起来很像是传递的是引用,因为obj.name受到改变了,但其实不是,其实还是值,因为obj2本身的值就是新对象的地址,所以传进去的就是这个地址。

这是阿里2014年的笔试题:

var a = 1;

var obj = {

b: 2

};

var fn = function () {};

fn.c = 3;

function test(x, y, z) {

x = 4;

y.b = 5;

z.c = 6;

return z;

}

test(a, obj, fn);

alert(a + obj.b + fn.c);

答案:12

首先test传递进去的实参中,a是基本类型(,复制了一份值),obj是object(指向地址,你动我也动),fn也当然不是基本类型啦。在执行test的时候,x被赋值为4(跟a没关系,各玩各的,a仍然为1),y的b被赋值为5,那obj的b也变为5,z的c变为6,那fn的c当然也会是6. 所以alert的结果应该是1+5+6 =12. (其实test不返回z也一样,z仍然改变的)。

django怎么引入js,css文件

参考如下

假如项目的目录tree为:

mysite:

manage.py

mysite:

__init__.py settings.py urls.py wsgi.py

blog(建立的应用程序):

models.py views.py test.py __init__.py templates

开始配置:

1、在外部的mysite目录下(也就是项目的根目录)建立static目录

2、打开settings.py,添加:

import os

STATIC_URL = '/static/'

STATICFILES_DIRS = (

os.path.join(os.path.dirname(__file__), '../static/').replace('\\','/'),

(

3、打开urls.py,添加(注意:假如在blog应用中新建了一个urls.py文件,那么应该添加到blog目录下的urls.py文件,我曾经在这个坑里纠结了很久):

import settings

urlpatterns = patterns(

url( r'^static/(?Ppath.*)$', 'django.views.static.serve',

{ 'document_root':settings.STATIC_ROOT }),

)

使用:

假设要在模板(存放在templates文件中的)里面导入外部/home/fudaoji/mysite/static/js/jequery.js文件,那么可以直接

script type="text/javascript" src='../../static/js/jquery.js'/javascript

js中如何对django模板中的变量进行赋值

django模版变量是属于后台服务器端的,而Js是前台的,没法给它们赋值。你应该在服务器段就赋值,然后传给前端页面,render_to_response这个函数是可以添加模版变量的,到时候直接在页面上使用就可以了,具体你可以查查render_to_response这个函数的用法

Django得到js传递的参数

URL='admin/action?name=xxxpwd=xxx'

以上格式中,name和pwd是html中表单标记的id,比如一个input的ID。xxx代表一个值,可以是固定,也可以是js获取的input输入框的值等。

Python django里的views.py传参给js的问题,急求!

python 对象转成json对象,有更好的方法,不应该用你说的循环来实现,如下面所示

在views里面,

from django.core import serializers

datax=[list1[],list2[].....]

data = serializers.serialize('xml', datax)

return render_to_response('index.html',{'title':'test','list':data,'row':row,'col':col})

在index.html里面

script type='text/javascript'

var list = {{list}};

/script

--------------------------------

上面代码只是随意写的,没有测试,不过你用serializers绝对错不了,可以baidu: django serializers ,很多例子的

结语:以上就是首席CTO笔记为大家整理的关于js怎么传值给django的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于js怎么传值给django的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/46055.html