0

jQuery-pjaxとdjango-pjaxを使用してビューの一部をpjax化しようとしています。私が理解しているように、すべてのpjaxリクエストは追加のヘッダーを送信しますX-PJAX: True。しかし、(私が思うに)私のpjaxコードが正常に機能していても、どこにも見つかりません。

基本テンプレートstock-template.html

<ul>
    <li><a data-pjax href="/basic/stock/" id="link-stock-index"></li>
    <li><a data-pjax href="/basic/stock/list/" id="link-stock-list"></li>
</ul>

<script type="text/javascript">
$(document).ready(function(){

    if ($.support.pjax) {

      // I have tried the basic way
      // $(document).pjax('a[data-pjax]', '.tab-content)
      // here is a simplified version of using pjax through the click event

      // the container does get updated
      $(document).on('click', 'a[data-pjax]', function(event) {
        var container = $('.tab-content')
        $.pjax.click(event, {container: container})
      })

      // this gets executed
      $(document).on('pjax:complete', console.log('pjaxify complete'))

    }

});
</script>

テンプレート1(株価指数)stock.htmlとテンプレート2(株価指数)では、テンプレートを拡張し、指定されたコンテナーとしてそこにstock-list.html 入れながら、上のナビゲーションを再利用します。<div class="tab-content">

urls.py

urlpatterns = patterns('',
    url(r'^$', stock.index, name='index'),
    url(r'^stock/$', stock.index),
    url(r'^stock/list', stock.slist),
)

views.py

def index(request):
    context_instance = RequestContext(request, {
        'pjax': request.META.get('HTTP_X_PJAX'), 
    })         
    return TemplateResponse(request, 'basic/stock/stock.html', context_instance)


def slist(request):
    items = Stock.objects.all()
    context_instance = RequestContext(request, {
        'pjax': request.META.get('HTTP_X_PJAX'),
    })
    return TemplateResponse(request, 'basic/stock/stock-list.html', context_instance)

pjax:complete要約すると、PJAXスクリプトが実行され、が呼び出されたため、私のコードは機能すると思います。ヘッダーを再確認して、ローカルホストが速すぎてページの更新に気付かないのではなく、pjaxであることを確認したいだけです。問題は、ChromeまたはFirefoxでX-PJAXヘッダーが表示されないことです。

ご覧のとおり、ヘッダーを取得してテンプレートに送信して表示しようとしましたが、出力されますNone

助けてください。

4

1 に答える 1

0

私の問題はかなりばかげていました。pjaxテンプレートにi18nをロードするのを忘れたため、PJAXはテンプレートをtemplate-pjaxと交換できませんでした。しかし、ネットパネルのチェックに関する@SeanHoganのヒントには本当に感謝しています。

于 2013-01-25T05:29:55.927 に答える