跳转到主要内容

Django Admin的Bootstrap主题

项目描述

https://travis-ci.org/django-admin-bootstrapped/django-admin-bootstrapped.svg

PyPI version

一个使用Bootstrap的Django admin主题。您无需进行任何修改,只需将其添加到已安装的应用程序中。

需求

  • Django 1.10和1.11

对于旧版本的Django,使用原始包 -> https://github.com/django-admin-bootstrapped/django-admin-bootstrapped

安装

  1. 使用pip从PyPi下载它 pip install https://github.com/rubgombar1/django-admin-bootstrapped/archive/master.zip

  2. 'django.contrib.admin'之前将其添加到INSTALLED_APPS

'django_admin_bootstrapped',
  1. 祝您玩得开心!

配置

为了获得完整的bootstrap3体验,您可能需要使用自定义渲染器来处理字段。在tree中有一个可用的渲染器,但需要安装django-bootstrap3应用程序。您需要将以下内容添加到您的项目设置文件中:

DAB_FIELD_RENDERER = 'django_admin_bootstrapped.renderers.BootstrapFieldRenderer'

消息默认情况下将具有alert-info标签,因此您可能想为不同的消息级别添加Bootstrap 3标签以使它们得到适当的样式。请将以下内容添加到您的项目设置文件中:

from django.contrib import messages

MESSAGE_TAGS = {
            messages.SUCCESS: 'alert-success success',
            messages.WARNING: 'alert-warning warning',
            messages.ERROR: 'alert-danger error'
}

现在,添加如下消息

messages.success(request, "My success message")
messages.warning(request, "My warning message")
messages.error(request, "My error message")

将得到如下结果

https://i.imgur.com/SQNMZZE.png

好东西

使用模板添加自定义HTML到任何模型的修改表单中

您可以在应用程序的模板文件夹中创建一个名为admin_model_MODELNAME_change_form.html的模板来注入自定义HTML到任何修改表单的顶部。例如:myapp/templates/myapp/admin_model_mymodelname_change_form.htmlproject/templates/myapp/admin_model_mymodelname_change_form.html

内联排序

您可以通过对代码进行一些修改来为任何内联添加拖放排序功能。

首先,在您的模型中添加一个position字段(并相应地对模型进行排序),例如

class TestSortable(models.Model):
    that = models.ForeignKey(TestMe)
    position = models.PositiveSmallIntegerField("Position")
    test_char = models.CharField(max_length=5)

    class Meta:
        ordering = ('position', )

然后在您的admin.py中创建一个类来处理内联,使用django_admin_bootstrapped.admin.models.SortableInline混合,如下所示

from django_admin_bootstrapped.admin.models import SortableInline
from models import TestSortable

class TestSortable(admin.StackedInline, SortableInline):
    model = TestSortable
    extra = 0

现在您可以使用内联如常。请参阅截图部分以查看结果。

此功能由Kyle Bock提供。感谢Kyle!

兼容XHTML

兼容html和xhtml。为了在Django应用程序中启用xhtml,请在settings.py中添加以下内容:DEFAULT_CONTENT_TYPE = 'application/xhtml+xml'。

管理中的通用查找

只需将admin小部件更改为以下形式即可完成所有工作:

from django_admin_bootstrapped.widgets import GenericContentTypeSelect

class SomeModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.ForeignKey: {'widget': GenericContentTypeSelect},
    }

或者如果您想更具体一些

from django_admin_bootstrapped.widgets import GenericContentTypeSelect

class SomeModelAdmin(admin.ModelAdmin):
    def formfield_for_dbfield(self, db_field, **kwargs):
        if db_field.name == 'content_type':
            kwargs['widget'] = GenericContentTypeSelect
        return super(SomeModelAdmin, self).formfield_for_dbfield(db_field, **kwargs)

如果您决定使用formfield_overrides,请了解其与关系字段的限制。

此功能(以及许多其他功能)由Jacob Magnusson提供。感谢Jacob!

贡献

欢迎所有代码、文档和UX贡献。

发现了问题?在bug追踪器中报告它!

有时间吗?帮助修复已提交的问题,请记住在单独的分支上工作。

截图

主页

https://cloud.githubusercontent.com/assets/12932/6967318/d7064abe-d95e-11e4-91bc-6de527550557.png

下拉菜单中的过滤器列表视图

https://cloud.githubusercontent.com/assets/12932/6967319/d71a9c6c-d95e-11e4-86cf-47e8857582c1.png

修改表单视图

https://cloud.githubusercontent.com/assets/12932/6966950/98661ba6-d95c-11e4-8bb3-e4b18759115b.png

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

django-admin-bootstrapped-rubgomez93-3.0.1.tar.gz (378.5 kB 查看散列)

上传时间:

构建分布

django_admin_bootstrapped_rubgomez93-3.0.1-py2-none-any.whl (403.6 kB 查看散列)

上传时间: Python 2

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面