Django AJAX导航

Django AJAX导航,ajax,django,view,navigation,django-templates,Ajax,Django,View,Navigation,Django Templates,作为一个测试,我决定看看我是否能获得hashchange导航技巧,想想如何使用我的django应用程序 到目前为止,我还处于散列更改触发的阶段,只需要加载数据,这就是我遇到的问题 现在,我刚接触django和django/ajax,我不知道从哪里开始,我在谷歌上搜索了几次,但运气不好。简而言之,我需要一种方法来加载页面,而不使用extend语法的模板。。我是否能够解析url的附加值并将其从模板中排除??我不确定 请提供一些代码指导或其他内容,您的模板将创建发送到浏览器的html,一旦它到达客户端

作为一个测试,我决定看看我是否能获得hashchange导航技巧,想想如何使用我的django应用程序

到目前为止,我还处于散列更改触发的阶段,只需要加载数据,这就是我遇到的问题

现在,我刚接触django和django/ajax,我不知道从哪里开始,我在谷歌上搜索了几次,但运气不好。简而言之,我需要一种方法来加载页面,而不使用extend语法的模板。。我是否能够解析url的附加值并将其从模板中排除??我不确定


请提供一些代码指导或其他内容,您的模板将创建发送到浏览器的html,一旦它到达客户端,您的模板将无法在该页面上进行更改,需要重新加载该页面,以便模板进行任何更改。因此,触发散列更改时,您的选项是要么将希望加载的信息作为页面的一部分,但将其隐藏,这意味着您必须知道加载页面时用户需要的所有信息,要么使用AJAX。有了AJAX,当用户通过使用Javascript生成XMLHttpRequest向我们提供新信息时,我们可以在不重新加载页面的情况下进行更改,Javascript不必返回XML,它可以是JSON,甚至可以是单个文本字符串。因此,当散列更改触发时,您将向站点发送一个请求,通常是GET或POST,站点上的脚本将处理从客户端发送的信息并做出相应的响应。下面是change trigger函数中的一个示例

data = "somedata";
request = new XMLHttpRequest(); //create the request object
request.open("POST", "app/handler", false); // set its parameters
request.send("data="+data); // send it to the server
response = request.responseText; // get the response
responseHandler(response) // do something with the data the server sent back
在服务器端,这可能是应用程序的唯一用途。所有的格式化都可以通过网站的基本模板、javascript和css来完成。只需在每次响应后加载新信息。Django有一些AJAX库,请查看或查看Django.core.serialization,它将允许您以json、xml或yaml的形式返回应用程序模型

from django.core import serializers 
def my_json_view(request):
    data = serializers.serialize("json", MyModel.objects.all()[:5])
    return HttpResponse(data, mimetype="application/javascript")