Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f22ce4b70 | |||
| 12078589aa | |||
| 98d7153b24 | |||
| d702b0a328 | |||
| 8bc899f107 | |||
| 48a226ca9f | |||
| 8752520ebe | |||
| a006fef0e0 | |||
| a18ec73656 | |||
| 40cf1daa84 | |||
| 15ca13c98a | |||
| 5b8ad7b04b | |||
| 690924df51 | |||
| 7a57b35554 | |||
| 6b92499395 | |||
| f38ca148e6 | |||
| 01e7f05ca1 | |||
| 385602ac5f | |||
| e392341591 | |||
| ea36322ca1 | |||
| 4a45afed18 |
@@ -0,0 +1 @@
|
||||
admin_interface/static/ckeditor/* linguist-vendored
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Fabio Cacccamo - fabio.caccamo@gmail.com
|
||||
Copyright (c) 2015 Fabio Caccamo - fabio.caccamo@gmail.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1 +1,66 @@
|
||||
# django-admin-interface
|
||||
#django-admin-interface
|
||||
django-admin-interface is a modern **flat admin interface customizable by the admin itself**.
|
||||
|
||||
You can use the builtin **django-theme** or create your own and **customize** **title, logo and colors**.
|
||||
|
||||
##Requirements
|
||||
- Python 2.6, Python 2.7
|
||||
- Django 1.6.5 through Django 1.8.4
|
||||
|
||||
##Installation
|
||||
- Run `pip install django-admin-interface`
|
||||
- Add `admin_interface`, `flat` and `colorfield` to `settings.INSTALLED_APPS` **before** `django.contrib.admin`
|
||||
```python
|
||||
INSTALLED_APPS = (
|
||||
#...
|
||||
'flat',
|
||||
'colorfield',
|
||||
'admin_interface',
|
||||
#...
|
||||
'django.contrib.admin',
|
||||
#...
|
||||
)
|
||||
```
|
||||
- Run ``python manage.py migrate`` *(add ``--fake-initial`` if you are upgrading from 0.1.0 to 0.1.1 version)*
|
||||
- Run ``python manage.py collectstatic``
|
||||
- Restart your application server
|
||||
|
||||
##Screenshots
|
||||
######Admin login
|
||||

|
||||
---
|
||||
######Admin dashboard
|
||||

|
||||
---
|
||||
######Admin themes management
|
||||

|
||||
---
|
||||
######Admin theme customization
|
||||

|
||||
|
||||
####Thanks
|
||||
- [django-flat-theme](https://github.com/elky/django-flat-theme/)
|
||||
- [django-colorfield](https://github.com/jaredly/django-colorfield/)
|
||||
|
||||
##License
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Fabio Caccamo - fabio.caccamo@gmail.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import colorfield.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Theme',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('name', models.CharField(default=b'Django', max_length=50)),
|
||||
('active', models.BooleanField(default=True)),
|
||||
('title', models.CharField(default=b'Django administration', max_length=50, blank=True)),
|
||||
('title_visible', models.BooleanField(default=True, verbose_name=b'visible')),
|
||||
('logo', models.FileField(upload_to=b'admin-interface/logo/', blank=True)),
|
||||
('logo_visible', models.BooleanField(default=True, verbose_name=b'visible')),
|
||||
('css_header_background_color', colorfield.fields.ColorField(default=b'#0C4B33', help_text=b'#0C4B33', max_length=10, verbose_name=b'background color', blank=True)),
|
||||
('css_header_title_color', colorfield.fields.ColorField(default=b'#F5DD5D', help_text=b'#F5DD5D', max_length=10, verbose_name=b'title color', blank=True)),
|
||||
('css_header_text_color', colorfield.fields.ColorField(default=b'#44B78B', help_text=b'#44B78B', max_length=10, verbose_name=b'text color', blank=True)),
|
||||
('css_header_link_color', colorfield.fields.ColorField(default=b'#FFFFFF', help_text=b'#FFFFFF', max_length=10, verbose_name=b'link color', blank=True)),
|
||||
('css_header_link_hover_color', colorfield.fields.ColorField(default=b'#C9F0DD', help_text=b'#C9F0DD', max_length=10, verbose_name=b'link hover color', blank=True)),
|
||||
('css_module_background_color', colorfield.fields.ColorField(default=b'#44B78B', help_text=b'#44B78B', max_length=10, verbose_name=b'background color', blank=True)),
|
||||
('css_module_text_color', colorfield.fields.ColorField(default=b'#FFFFFF', help_text=b'#FFFFFF', max_length=10, verbose_name=b'text color', blank=True)),
|
||||
('css_module_link_color', colorfield.fields.ColorField(default=b'#FFFFFF', help_text=b'#FFFFFF', max_length=10, verbose_name=b'link color', blank=True)),
|
||||
('css_module_link_hover_color', colorfield.fields.ColorField(default=b'#C9F0DD', help_text=b'#C9F0DD', max_length=10, verbose_name=b'link hover color', blank=True)),
|
||||
('css_module_rounded_corners', models.BooleanField(default=True, verbose_name=b'rounded corners')),
|
||||
('css_generic_link_color', colorfield.fields.ColorField(default=b'#0C3C26', help_text=b'#0C3C26', max_length=10, verbose_name=b'link color', blank=True)),
|
||||
('css_generic_link_hover_color', colorfield.fields.ColorField(default=b'#156641', help_text=b'#156641', max_length=10, verbose_name=b'link hover color', blank=True)),
|
||||
('css_save_button_background_color', colorfield.fields.ColorField(default=b'#0C4B33', help_text=b'#0C4B33', max_length=10, verbose_name=b'background color', blank=True)),
|
||||
('css_save_button_background_hover_color', colorfield.fields.ColorField(default=b'#0C3C26', help_text=b'#0C3C26', max_length=10, verbose_name=b'background hover color', blank=True)),
|
||||
('css_save_button_text_color', colorfield.fields.ColorField(default=b'#FFFFFF', help_text=b'#FFFFFF', max_length=10, verbose_name=b'text color', blank=True)),
|
||||
('css_delete_button_background_color', colorfield.fields.ColorField(default=b'#BA2121', help_text=b'#BA2121', max_length=10, verbose_name=b'background color', blank=True)),
|
||||
('css_delete_button_background_hover_color', colorfield.fields.ColorField(default=b'#A41515', help_text=b'#A41515', max_length=10, verbose_name=b'background hover color', blank=True)),
|
||||
('css_delete_button_text_color', colorfield.fields.ColorField(default=b'#FFFFFF', help_text=b'#FFFFFF', max_length=10, verbose_name=b'text color', blank=True)),
|
||||
('css', models.TextField(blank=True)),
|
||||
('list_filter_dropdown', models.BooleanField(default=False)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Theme',
|
||||
'verbose_name_plural': 'Themes',
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -41,9 +41,21 @@
|
||||
|
||||
.module h2,
|
||||
.module caption,
|
||||
.inline-group h2,
|
||||
.module.filtered h2,
|
||||
.inline-group h2,
|
||||
.module.filtered h2 {
|
||||
background:{{ theme.css_module_background_color }};
|
||||
color:{{ theme.css_module_text_color }};
|
||||
}
|
||||
|
||||
.module a.section:link,
|
||||
.module a.section:visited {
|
||||
color:{{ theme.css_module_link_color }};
|
||||
}
|
||||
|
||||
.module a.section:active,
|
||||
.module a.section:hover {
|
||||
color:{{ theme.css_module_link_hover_color }};
|
||||
}
|
||||
|
||||
div.breadcrumbs {
|
||||
background:{{ theme.css_module_background_color }};
|
||||
color:{{ theme.css_module_text_color }};
|
||||
@@ -63,9 +75,12 @@
|
||||
color:{{ theme.css_module_background_color }} !important;
|
||||
}
|
||||
|
||||
/* same color as above, but this requires !important */
|
||||
/* support for modeltranslation tabs */
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
|
||||
.inline-group h2,
|
||||
.inline-group h2 {
|
||||
background:{{ theme.css_module_background_color }};
|
||||
color:{{ theme.css_module_text_color }};
|
||||
}
|
||||
|
||||
.selector-chosen h2 {
|
||||
background:{{ theme.css_module_background_color }} !important;
|
||||
color:{{ theme.css_module_text_color }} !important;
|
||||
@@ -445,5 +460,7 @@
|
||||
</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block bodyclass %}admin-interface flat-theme{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
__version__ = '0.1.0'
|
||||
__version__ = '0.1.2'
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ setup(
|
||||
include_package_data=True,
|
||||
license='MIT License',
|
||||
version=__version__,
|
||||
description='django-admin-interface is a modern admin interface customizable by the admin itself.',
|
||||
description='django-admin-interface is a modern flat admin interface customizable by the admin itself.',
|
||||
author='Fabio Caccamo',
|
||||
author_email='fabio.caccamo@gmail.com',
|
||||
url='https://github.com/fabiocaccamo/django-admin-interface',
|
||||
|
||||
Reference in New Issue
Block a user