所熟悉的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里