使用Django的单页应用程序

Ash*_*pta 2 django pjax single-page-application django-rest-framework

我正在使用django-easy-pjax制作单页应用程序:

base.html:

{% load staticfiles %}
<script type="text/javascript" src="{% static '/static/js/jquery.js' %}"></script>
<script src="{% static '/static/js/jquery.pjax.js' %}"></script>

{% block side%}
It is {% now "c" %} 
<br><br>
<a href="/uu/">Next Page</a>
<br/></br>
{%endblock side%}


{%block main%}
{%endblock main%}
Run Code Online (Sandbox Code Playgroud)

1.html:

{% extends "base.html"|pjax:request %}
{%block main%}
If time doesnot change Easy pjax is working
{%endblock main%}
Run Code Online (Sandbox Code Playgroud)

views.py:

from django.shortcuts import render
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.template.response import TemplateResponse

def index(request):
  return render_to_response('base.html', {}, context_instance = RequestContext(request))

def index1(request):
  return render_to_response('1.html', {}, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

urls.py:

    (r'^pjax/$', 'app_name.views.index'),
    (r'^uu/$', 'app_name.views.index1'),
Run Code Online (Sandbox Code Playgroud)

但是,当我单击下一页时,时间url会更改,内容会加载,但时间也会更改,这意味着easy-pjax无法正常工作。我应该在代码中进行哪些更正?我在模板目录中添加了pjax_base.html模板。但是pjax_base.html的内容应该是什么?是否需要在服务器端配置其他内容(如HTTP标头)?

Ash*_*pta 5

使用django-easy-pjax是一个坏主意。要使用django制作SPA,应使用REST框架。我切换到` Django REST Framework。我正在使用Django + Django + DjangoRESTFramework + AngularJS for SPA

`

  • 对于使用 Angular 作为 SPA 的 Django REST 框架,您可能对 [django-spa 包](https://github.com/metakermit/django-spa) 感兴趣。完全披露——我是作者。 (3认同)