我想知道是否有办法将视图变量直接传递给dajaxice?
实际上我将id转换为json字符串并通过dajaxice函数加载它们。 我喜欢避免以这种方式传递id,并且必须在用户操作输入时处理它。
view.py
from django.shortcuts import render_to_response, redirect
from django.shortcuts import get_object_or_404
from django.template import RequestContext
from django.utils import simplejson
def site(request, slug, number):
collection = get_object_or_404(Collection, slug=slug)
site = get_object_or_404(Site, collection=collection, number=number)
json_id = simplejson.dumps(site.pk)
return render_to_response('base/site.html',
{
'site': site,
'json_id': json_id,
},
context_instance=RequestContext(request))
site.html
...
var id = {{ json_id|safe }};
var user_changes = "";
...
Dajaxice.base.submit_changes(callback, {'id': id, 'user_changes': user_changes});
ajax.py
from django.utils import simplejson
from dajaxice.decorators import dajaxice_register
@dajaxice_register
def submit_changes(request, id, user_changes):
...
return simplejson.dumps({'message':'You changed:%s in Site #%s!' % (user_changes, id)})
答案 0 :(得分:0)
最好的方法是将这些信息存储在会话中以防止操作
的 view.py 强> 的
...
request.session['id'] = site.pk
...
的 ajax.py 强> 的
...
id = request.session['id']
...