我有一个ajax视图,我想设置一个像这样的会话变量:
def upload(request, *args, **kwargs):
request.session['test'] = 'test'
request.session.modified = True
print request.session.items()
我有另一个正常的观点:
def advertise(request):
print request.session.items()
我将这两个dicts打印到shell:
[('test', 'test')]
[('_auth_user_backend', 'django.contrib.auth.backends.ModelBackend'), ('_auth_user_id', 26L)]
为什么我在ajax视图中设置的会话数据没有传递给我的常规视图?如果我在常规视图中设置会话数据,一切正常,但似乎ajax请求包含空会话数据?以前有人处理过这样的事吗?任何建议都非常感谢。谢谢。
答案 0 :(得分:5)
我今天遇到了同样的问题。虽然我不认为OP在3个月后仍在等待答案:-),这可能对其他人有所帮助。
我发出了像这样的Ajax请求......
$.ajax({url: 'http://localhost:8000/testgame/getTime/',
async: false, dataType: 'text',
success: function(text) {
time = new Date(text);
}, error: function(http, message, exc) {
time = new Date();
}});
...并在Firefox中访问应用程序,如下所示:
http://127.0.0.1:8000/game/config/
问题是localhost和127.0.0.1在这种情况下是不一样的!