我想弄清楚如何在 django 中使用 pjax。我在这里使用 django-pjax:https ://github.com/jacobian/django-pjax 。我确定我的 pjax 正在工作,因为当我单击 pjax 链接时它会提醒我,但它仍然没有在同一个 html 页面中呈现内容。我认为问题与 django-pjax 有关。我正在使用 django 1.5。这是我的代码:
具有我正在单击的链接以及我想要更改内容的页面的视图:
from django.http import HttpResponse
from django.shortcuts import render
from django.template.response import TemplateResponse
from djpjax import pjax, pjaxtend
@pjax()
def index(request):
return TemplateResponse(request, 'shuttleservice/index.html', {})
单击链接时要显示的页面的视图:
from django.http import HttpResponse
from django.shortcuts import render
from django.template.response import TemplateResponse
from djpjax import pjax, pjaxtend
@pjax()
def from_ap_form(request):
return TemplateResponse(request, 'orders/from_ap_form.html', {})
我要替换的 div 的 html:
{% extends 'shuttleservice/base.html' %}
{% load staticfiles %}
{% block pagetitle %}Home{% endblock %}
{% block primary %}
<div id="booking-form-home"> <!-- div I want to replace -->
<p>Are you looking to book a private airport shuttle? <a href='#'>Click here</a>. </p>
<h2> Book Airport Shuttle </h2>
<ul class="booking-nav-bar">
<li class="booking-nav-button">
<a class="booking-nav-text" href='orders/from_ap_form'>From Airport</a> <!-- link I am pressing to use pjax -->
</li>
<li class="booking-nav-button">
<a class="booking-nav-text" href='#'>To Airport</a>
</li>
<li class="booking-nav-button">
<a class="booking-nav-text" href='#'>From/To Airport</a>
</li>
</ul>
<!-- more content -->
</div>
{% endblock %}
还有我的 javascript:
$(document).ready(function() {
$(document).pjax('a', '#booking-form-home');
$(document).on('pjax:click', function() { alert('hello');});
});
警报正常工作,因此 pjax 正在触发。有谁知道为什么 pjax 在这种情况下不起作用?Django-pjax 应该很容易实现,但我已经尝试了几个小时来解决这个问题。另外,我确实意识到我正在使用 pjax 选择所有链接,但我只是这样做直到我可以让 pjax 工作。谢谢!