mirror of
https://github.com/jazzband/django-constance.git
synced 2026-03-16 22:40:24 +00:00
Facilitate renaming Constance in Admin (#173)
* Load app_config dynamically and use verbose_name * Instead of assuming the app config is always going to be ConstanceConfig, load it dynamically in case the user overrides it * Use verbose_name for page title instead of static strings for create_list * Use verbose_name for create_list breadcrumbs These changes allows the user to easily rename "Constance" to something else in their project. * Fix use of verbose_name in title and breadcrumbs
This commit is contained in:
parent
c4f350e0f3
commit
70f1043bad
2 changed files with 7 additions and 6 deletions
|
|
@ -5,6 +5,7 @@ from operator import itemgetter
|
|||
from collections import OrderedDict
|
||||
|
||||
from django import forms, VERSION
|
||||
from django.apps import apps
|
||||
from django.conf.urls import url
|
||||
from django.contrib import admin, messages
|
||||
from django.contrib.admin import widgets
|
||||
|
|
@ -20,7 +21,7 @@ from django.utils.module_loading import import_string
|
|||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
from . import LazyConfig, settings, apps
|
||||
from . import LazyConfig, settings
|
||||
|
||||
config = LazyConfig()
|
||||
|
||||
|
|
@ -190,7 +191,7 @@ class ConstanceAdmin(admin.ModelAdmin):
|
|||
return HttpResponseRedirect('.')
|
||||
context = {
|
||||
'config_values': [],
|
||||
'title': _('Constance config'),
|
||||
'title': self.model._meta.app_config.verbose_name,
|
||||
'app_label': 'constance',
|
||||
'opts': self.model._meta,
|
||||
'form': form,
|
||||
|
|
@ -255,12 +256,12 @@ class Config(object):
|
|||
|
||||
def get_change_permission(self):
|
||||
return 'change_%s' % self.model_name
|
||||
|
||||
|
||||
@property
|
||||
def app_config(self):
|
||||
return apps.ConstanceConfig
|
||||
return apps.get_app_config(self.app_label)
|
||||
|
||||
_meta = Meta()
|
||||
|
||||
|
||||
|
||||
admin.site.register([Config], ConstanceAdmin)
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a>
|
||||
› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ app_label|capfirst|escape }}</a>
|
||||
› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a>
|
||||
› {{ opts.verbose_name_plural|capfirst }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Reference in a new issue