Django 前后台数据传递方法

所熟悉的Django前后台数据传递的方法有以下几种:

1、后台往前台传数据

最简单的返回一个页面,view代码如下:

def Home(request):
    return render(request,"flow/home.html",locals())

如果要带上一些数据返回到前台:

view代码:

def domain_list(request):
    data = [1,2,3,4,5,6]
    return render(request, 'domain/domain.html', locals())

domain.html接受数据

可以用{{data}}直接在页面显示数据

{{ data }}

也可以对数据进行迭代,比如把数据放到table中显示

{% for x in data %}

{{ x }}

{% end for %}

以上方法后台传过来的数据直接给了在HTML中显示出来,如果数据是传给js用的就用以下方法,注意后台穿过来的数据要处理成json格式:

view部分:

import json
def domain_list(request):
    data = ['hello','world','!']
    data = json.dumps(data) #data必须是一个list
    return render(request, 'domain/domain.html', locals())

HTML的js部分需要接一个safe过滤器:

2、前台往后台传数据:

前台往后台传数据方法就比较多了

(1)使用ajax动态刷新页面

HTML的js部分:

后台view部分:

def scene(request):
    if request.method == "GET":
            name = request.GET.get('domain_name')
            print name 
            result = "OK!"
            return HttpResponse(result)

(2)可以将数据直接放到URL里


你可能感兴趣的:(python)