【问题标题】:Passing view variables directly to dajaxice?将视图变量直接传递给 dajaxice?
【发布时间】:2013-07-04 22:09:21
【问题描述】:

我想知道是否有办法将视图变量直接传递给 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)})

【问题讨论】:

    标签: django dajaxice


    【解决方案1】:

    最好的方法可能是在会话中存储这些信息以防止操纵

    view.py

    ...
    request.session['id'] = site.pk
    ...
    

    ajax.py

    ...
    id = request.session['id']
    ...
    

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多