* update overridden django admin templates
* get rid of the "get_media_url()" helper and use staticfiles instead (fixes issue #2) * fixes for custom menu and dashboard media
This commit is contained in:
parent
71ad7eb234
commit
5bda74f00b
|
@ -1,5 +1,5 @@
|
|||
{% extends "admin/base_site.html" %}
|
||||
{% load i18n admin_tools_dashboard_tags %}
|
||||
{% load i18n admin_static admin_tools_dashboard_tags %}
|
||||
|
||||
{% block extrastyle %}
|
||||
{{ block.super }}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<link rel="stylesheet" href="{{ media_url }}/admin_tools/css/jquery/jquery-ui.css" type="text/css" media="screen, projection"/>
|
||||
<link rel="stylesheet" href="{{ media_url }}/admin_tools/css/dashboard.css" type="text/css" media="screen, projection"/>
|
||||
{% load staticfiles %}
|
||||
<link rel="stylesheet" href="{% static "admin_tools/css/jquery/jquery-ui.css" %}" type="text/css" media="screen, projection"/>
|
||||
<link rel="stylesheet" href="{% static "admin_tools/css/dashboard.css" %}" type="text/css" media="screen, projection"/>
|
||||
<!--[if lt IE 8]>
|
||||
<link rel="stylesheet" href="{{ media_url }}/admin_tools/css/dashboard-ie.css" type="text/css" media="screen, projection"/>
|
||||
<link rel="stylesheet" href="{% static "admin_tools/css/dashboard-ie.css" %}" type="text/css" media="screen, projection"/>
|
||||
<![endif]-->
|
||||
{% for css in css_files %}
|
||||
<link rel="stylesheet" href="{{ media_url }}/{{ css }}" type="text/css" media="screen, projection"/>{% endfor %}
|
||||
{% for media_type, files in css_files.items %}{% for css in files %}
|
||||
<link rel="stylesheet" href="{% static css %}" type="text/css" media="{{ media_type }}"/>{% endfor %}{% endfor %}
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
{% load i18n admin_tools_dashboard_tags %}
|
||||
{% load i18n staticfiles admin_tools_dashboard_tags %}
|
||||
|
||||
{% block dashboard_scripts %}
|
||||
<script type="text/javascript" src="{{ media_url }}/admin_tools/js/utils.js"></script>
|
||||
<script type="text/javascript" src="{% static "admin_tools/js/utils.js" %}"></script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
// Load js files syncronously and conditionally
|
||||
|
||||
var js_files = [
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/jquery/jquery.min.js',
|
||||
src : '{% static "admin_tools/js/jquery/jquery.min.js" %}',
|
||||
test: function() { return typeof(jQuery) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/jquery/jquery-ui.min.js',
|
||||
src : '{% static "admin_tools/js/jquery/jquery-ui.min.js" %}',
|
||||
test: function() { return typeof(jQuery.ui) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/json.min.js',
|
||||
src : '{% static "admin_tools/js/json.min.js" %}',
|
||||
test: function() { return typeof(JSON.stringify) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/jquery/jquery.cookie.min.js',
|
||||
src : '{% static "admin_tools/js/jquery/jquery.cookie.min.js" %}',
|
||||
test: function() { return typeof(jQuery.cookie) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/jquery/jquery.dashboard.js',
|
||||
src : '{% static "admin_tools/js/jquery/jquery.dashboard.js" %}',
|
||||
test: function() { return true; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/dashboard.js',
|
||||
src : '{% static "admin_tools/js/dashboard.js" %}',
|
||||
test: function() { return true; }
|
||||
}{% for js in dashboard.Media.js %},
|
||||
{
|
||||
src : '{{ media_url }}/{{ js }}',
|
||||
src : '{% static js %}',
|
||||
test: function() { return true; }
|
||||
}{% endfor %}
|
||||
];
|
||||
|
|
|
@ -13,7 +13,7 @@ from django import template
|
|||
from django.db import IntegrityError
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from admin_tools.utils import get_media_url, get_admin_site_name
|
||||
from admin_tools.utils import get_admin_site_name
|
||||
from admin_tools.dashboard.utils import get_dashboard
|
||||
from admin_tools.dashboard.models import DashboardPreferences
|
||||
|
||||
|
@ -63,7 +63,6 @@ def admin_tools_render_dashboard(context, location='index', dashboard=None):
|
|||
'dashboard': dashboard,
|
||||
'dashboard_preferences': preferences,
|
||||
'split_at': math.ceil(float(len(dashboard.children))/float(dashboard.columns)),
|
||||
'media_url': get_media_url(),
|
||||
'has_disabled_modules': len([m for m in dashboard.children \
|
||||
if not m.enabled]) > 0,
|
||||
'admin_url': reverse('%s:index' % get_admin_site_name(context)),
|
||||
|
@ -108,7 +107,6 @@ def admin_tools_render_dashboard_css(context, location='index', dashboard=None):
|
|||
context.update({
|
||||
'template' : 'admin_tools/dashboard/css.html',
|
||||
'css_files': dashboard.Media.css,
|
||||
'media_url': get_media_url(),
|
||||
})
|
||||
return context
|
||||
admin_tools_render_dashboard_css = tag_func(admin_tools_render_dashboard_css)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "admin/base.html" %}
|
||||
{% load i18n admin_tools_menu_tags %}
|
||||
{% load admin_tools_menu_tags %}
|
||||
|
||||
{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %}
|
||||
{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}
|
||||
|
||||
{% block extrastyle %}
|
||||
{{ block.super }}
|
||||
|
@ -13,7 +13,7 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block branding %}
|
||||
<h1 id="site-name">{% trans 'Django administration' %}</h1>
|
||||
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block nav-global %}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<link rel="stylesheet" href="{{ media_url }}/admin_tools/css/menu.css" type="text/css" media="screen, projection"/>
|
||||
{% load staticfiles %}
|
||||
<link rel="stylesheet" href="{% static "admin_tools/css/menu.css" %}" type="text/css" media="screen, projection"/>
|
||||
<!--[if lt IE 8]>
|
||||
<link rel="stylesheet" href="{{ media_url }}/admin_tools/css/menu-ie.css" type="text/css" media="screen, projection"/>
|
||||
<link rel="stylesheet" href="{% static "admin_tools/css/menu-ie.css" type="text/css" media="screen, projection"/>
|
||||
<![endif]-->
|
||||
{% for css in css_files %}
|
||||
<link rel="stylesheet" href="{{ media_url }}/{{ css }}" type="text/css" media="screen, projection"/>{% endfor %}
|
||||
{% for media_type, files in css_files.items %}{% for css in files %}
|
||||
<link rel="stylesheet" href="{% static css %}" type="text/css" media="{{ media_type }}"/>{% endfor %}{% endfor %}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{% load i18n admin_tools_menu_tags %}
|
||||
{% load i18n staticfiles admin_tools_menu_tags %}
|
||||
{% if menu.children %}
|
||||
<script type="text/javascript" src="{{ media_url }}/admin_tools/js/utils.js"></script>
|
||||
<script type="text/javascript" src="{% static "admin_tools/js/utils.js" %}"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
|
||||
// Load js files syncronously and conditionally
|
||||
var js_files = [
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/jquery/jquery.min.js',
|
||||
src : '{% static "admin_tools/js/jquery/jquery.min.js" %}',
|
||||
test: function() { return typeof(jQuery) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/json.min.js',
|
||||
src : '{% static "admin_tools/js/json.min.js" %}',
|
||||
test: function() { return typeof(JSON.stringify) == 'undefined'; }
|
||||
},
|
||||
{
|
||||
src : '{{ media_url }}/admin_tools/js/menu.js',
|
||||
src : '{% static "admin_tools/js/menu.js" %}',
|
||||
test: function() { return true; }
|
||||
}{% for js in menu.Media.js %},
|
||||
{
|
||||
src : '{{ media_url }}/{{ js }}',
|
||||
src : '{% static js %}',
|
||||
test: function() { return true; }
|
||||
}{% endfor %}
|
||||
];
|
||||
|
|
|
@ -11,7 +11,7 @@ To load the menu tags in your templates: ``{% load admin_tools_menu_tags %}``.
|
|||
from django import template
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from admin_tools.utils import get_media_url, get_admin_site_name
|
||||
from admin_tools.utils import get_admin_site_name
|
||||
from admin_tools.menu import items
|
||||
from admin_tools.menu.models import Bookmark
|
||||
from admin_tools.menu.utils import get_admin_menu
|
||||
|
@ -42,7 +42,6 @@ def admin_tools_render_menu(context, menu=None):
|
|||
context.update({
|
||||
'template': menu.template,
|
||||
'menu': menu,
|
||||
'media_url': get_media_url(),
|
||||
'has_bookmark_item': has_bookmark_item,
|
||||
'bookmark': bookmark,
|
||||
'admin_url': reverse('%s:index' % get_admin_site_name(context)),
|
||||
|
@ -81,7 +80,6 @@ def admin_tools_render_menu_css(context, menu=None):
|
|||
context.update({
|
||||
'template': 'admin_tools/menu/css.html',
|
||||
'css_files': menu.Media.css,
|
||||
'media_url': get_media_url(),
|
||||
})
|
||||
return context
|
||||
admin_tools_render_menu_css = tag_func(admin_tools_render_menu_css)
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
{% load theming_tags %}
|
||||
{% load firstof from future %}
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
|
||||
{% load admin_static theming_tags %}{% load firstof from future %}<!DOCTYPE html>
|
||||
<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
|
||||
<head>
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% get_admin_media "css/base.css" %}{% endblock %}" />
|
||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" />
|
||||
{% block extrastyle %}{% endblock %}
|
||||
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% get_admin_media "css/ie.css" %}{% endblock %}" /><![endif]-->
|
||||
{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% get_admin_media "css/rtl.css" %}{% endblock %}" />{% endif %}
|
||||
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% static "admin/css/ie.css" %}{% endblock %}" /><![endif]-->
|
||||
{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %}
|
||||
{% render_theming_css %}
|
||||
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% get_admin_media %}{% endfilter %}";</script>
|
||||
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script>
|
||||
<script type="text/javascript">window.__admin_utc_offset__ = "{% filter escapejs %}{% now "Z" %}{% endfilter %}";</script>
|
||||
{% block extrahead %}{% endblock %}
|
||||
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
|
||||
</head>
|
||||
|
@ -28,27 +27,19 @@
|
|||
</div>
|
||||
{% if user.is_active and user.is_staff %}
|
||||
<div id="user-tools">
|
||||
{% trans 'Welcome,' %}
|
||||
<strong>{% filter force_escape %}{% firstof user.get_short_name user.first_name user.get_username user.username %}{% endfilter %}</strong>.
|
||||
{% block welcome-msg %}
|
||||
{% trans 'Welcome,' %}
|
||||
<strong>{% firstof user.get_short_name user.get_username %}</strong>.
|
||||
{% endblock %}
|
||||
{% block userlinks %}
|
||||
{% url 'django-admindocs-docroot' as docsroot %}
|
||||
{% if docsroot %}
|
||||
<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> /
|
||||
{% endif %}
|
||||
{% url 'admin:password_change' as password_change_url %}
|
||||
{% if password_change_url %}
|
||||
<a href="{{ password_change_url }}">
|
||||
{% else %}
|
||||
<a href="{{ root_path }}password_change/">
|
||||
{% if user.has_usable_password %}
|
||||
<a href="{% url 'admin:password_change' %}">{% trans 'Change password' %}</a> /
|
||||
{% endif %}
|
||||
{% trans 'Change password' %}</a> /
|
||||
{% url 'admin:logout' as logout_url %}
|
||||
{% if logout_url %}
|
||||
<a href="{{ logout_url }}">
|
||||
{% else %}
|
||||
<a href="{{ root_path }}logout/">
|
||||
{% endif %}
|
||||
{% trans 'Log out' %}</a>
|
||||
<a href="{% url 'admin:logout' %}">{% trans 'Log out' %}</a>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -66,8 +57,8 @@
|
|||
{% block messages %}
|
||||
{% if messages %}
|
||||
<ul class="messagelist">{% for message in messages %}
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
|
||||
{% endfor %}</ul>
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message|capfirst }}</li>
|
||||
{% endfor %}</ul>
|
||||
{% endif %}
|
||||
{% endblock messages %}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ To load the theming tags just do: ``{% load theming_tags %}``.
|
|||
|
||||
from django import template
|
||||
from django.conf import settings
|
||||
from admin_tools.utils import get_media_url
|
||||
from django.contrib.staticfiles.storage import staticfiles_storage
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
@ -15,11 +15,9 @@ def render_theming_css():
|
|||
Template tag that renders the needed css files for the theming app.
|
||||
"""
|
||||
css = getattr(settings, 'ADMIN_TOOLS_THEMING_CSS', False)
|
||||
if css:
|
||||
css = '/'.join([get_media_url(), css])
|
||||
else:
|
||||
css = '/'.join([get_media_url(), 'admin_tools', 'css', 'theming.css'])
|
||||
return '<link rel="stylesheet" type="text/css" media="screen" href="%s" />' % css
|
||||
if not css:
|
||||
css = '/'.join(['admin_tools', 'css', 'theming.css'])
|
||||
return '<link rel="stylesheet" type="text/css" media="screen" href="%s" />' % staticfiles_storage.url(css)
|
||||
register.simple_tag(render_theming_css)
|
||||
|
||||
|
||||
|
|
|
@ -154,14 +154,3 @@ class AppListElementMixin(object):
|
|||
return reverse('%s:%s_%s_add' % (get_admin_site_name(context),
|
||||
app_label,
|
||||
model.__name__.lower()))
|
||||
|
||||
def get_media_url():
|
||||
"""
|
||||
Returns the django admin tools media URL.
|
||||
"""
|
||||
media_url = getattr(settings, 'ADMIN_TOOLS_MEDIA_URL', None)
|
||||
if media_url is None:
|
||||
media_url = getattr(settings, 'STATIC_URL', None)
|
||||
if media_url is None:
|
||||
media_url = getattr(settings, 'MEDIA_URL')
|
||||
return media_url.rstrip('/')
|
||||
|
|
Loading…
Reference in New Issue