首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将视图变量直接传递给dajaxice?

将视图变量直接传递给dajaxice?
EN

Stack Overflow用户
提问于 2013-07-07 12:10:24
回答 1查看 176关注 0票数 0

我想知道是否有一种直接将视图变量传递给dajaxice的方法?

实际上,我将id转换为json字符串,并通过dajaxice函数加载它们。我喜欢避免以这种方式传递id,并且必须将其作为用户操作的输入来处理。

view.py

代码语言:javascript
复制
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

代码语言:javascript
复制
...
var id = {{ json_id|safe }};
var user_changes = "";
...
Dajaxice.base.submit_changes(callback, {'id': id, 'user_changes': user_changes});

ajax.py

代码语言:javascript
复制
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)})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-22 12:35:20

最好的方法可能是将此类信息存储在会话中,以防止操作。

view.py

代码语言:javascript
复制
...
request.session['id'] = site.pk
...

ajax.py

代码语言:javascript
复制
...
id = request.session['id']
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17512030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档