fmartingr
/
shelfzilla
Archived
1
0
Fork 0

Added pjax app

+ Moved context_processor for pjax handling to this app
+ Added pjax template filter, will convert a template name into its pjax variant (appending -pjax by default)
+ pjax tempaltetags are auto loaded
This commit is contained in:
Felipe Martin 2014-04-03 18:53:37 +02:00
parent 02d9b38ef9
commit 07ce16f50f
15 changed files with 32 additions and 13 deletions

View File

@ -0,0 +1,4 @@
from django.template import add_to_builtins
add_to_builtins("shelfzilla.apps.pjax.templatetags.pjax")

View File

@ -2,13 +2,8 @@ def pjax(request):
"""
Determines if a request if a pjax request by the X-PJAX header
"""
template = '_layout.html'
is_pjax = request.META.get('HTTP_X_PJAX', False)
if is_pjax:
template = '_pjax.html'
return {
'is_pjax': is_pjax,
'extends_template': template,
}

View File

View File

@ -0,0 +1,19 @@
from django import template
register = template.Library()
@register.filter
def pjax(template_name, request, string="-pjax"):
if isinstance(request, (bool, int)):
is_pjax = request
else:
is_pjax = request.META.get("HTTP_X_PJAX", False)
if is_pjax:
name, extension = template_name.split('.')
template_name = '{}{}.{}'.format(
name, string, extension
)
return template_name.strip()

View File

View File

@ -59,6 +59,7 @@ INSTALLED_APPS = (
'shelfzilla.apps.homepage',
'shelfzilla.apps.landing',
'shelfzilla.apps.manga',
'shelfzilla.apps.pjax',
)
TEMPLATE_CONTEXT_PROCESSORS = (
@ -71,7 +72,7 @@ TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
'shelfzilla.context_processors.pjax',
'shelfzilla.apps.pjax.context_processors.pjax',
'shelfzilla.apps.manga.context_processors.user_have_volumes',
'shelfzilla.apps.manga.context_processors.user_wishlisted_volumes',
)

View File

@ -1,3 +1,3 @@
{% extends extends_template %}
{% extends '_layout.html'|pjax:request %}
{% block content %}asd{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends extends_template %}
{% extends '_layout.html'|pjax:request %}
{% load i18n %}
{% block page_title %}{{ block.super }} | {{ item.name }}{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends extends_template %}
{% extends '_layout.html'|pjax:request %}
{% load i18n %}
{% block page_title %}{{ block.super }} | {% trans "Publishers" %}{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends extends_template %}
{% extends '_layout.html'|pjax:request %}
{% load i18n %}
{% block page_title %}{{ block.super }} | {{ item.name }}{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends extends_template %}
{% extends '_layout.html'|pjax:request %}
{% load i18n %}
{% block page_title %}{{ block.super }} | {% trans "Series" %}{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends "_pjax.html" %}
{% extends "_layout-pjax.html" %}
{% block page_title %}{{ block.super }} | {{ volume.series.name }}{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends "_layout.html" %}
{% extends '_layout.html' %}
{% load i18n %}
{% block navigation_bar %}{% endblock %}