我的页面就像上面的图片一样。我想点击左边的链接来操纵右边的主要区域。 我们知道框架集和框架在html5中不支持,而iframe可能不太好。所以我想用ajax / jquery来获取它。
页面html如下:
<div id="left">
<ul>
<li onclick="jump('/login/')">link1</li>
<li onclick="jump('/login/')">link2</li>
</ul>
</div>
<div id="main">{# show page here #}</div>
现在我可以使用jquery打开带有登录页面的主要右侧区域而不刷新其他位置
function jump(url){
$("#main").load(url,function(){ $("#main").fadeIn(100);}
);}
它有效。页面显示如上图所示。 现在我想按下登录按钮。无论是否登录成功,下一页仍显示在主要右侧区域而不刷新其他位置。
我希望它像这样显示
url.py:
url(r'^login/$','login',name='login'),
登录视图:
def login(request):
do some login work
return HttpResponseRedirect(...) # it can't work,it redirect to absolutely
another page
return render_to_respose(....) # it stay at the top-left-right/main page,
but in main div it show nothing, totally blank.
我该如何解决?
答案 0 :(得分:0)
您无法在登录时重新呈现模板。您需要返回替换页面区域所需的HTML,或者需要返回JSON并处理客户端部分所需的html渲染,可能通过下划线提高效率。
无论哪种方式,您都需要在客户端处理有问题的HTML的替换。有很多方法可以做到这一点......原始的JavaScript,jQuery,下划线......这是一个非常广泛和高度自以为是的问题。