django管理的引导主题

django-admin-bootstrapped的Python项目详细描述


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

PyPI version

使用引导的django管理主题。它不需要任何种类 你的修改,只需添加到已安装的应用程序。

要求

  • django==1.8

使用django1.6使用版本2.3.6

使用django1.7使用版本2.4.0

安装

  1. 使用pip install django-admin-bootstrapped
  2. 从pypi下载
  3. 添加到INSTALLED_APPS之前'django.contrib.admin'
'django_admin_bootstrapped',
  1. 玩得开心!

配置

要获得完整的bootstrap3体验,您可能需要为字段使用自定义呈现器。 树中有一个可用的应用程序需要安装django-bootstrap3应用程序。 您必须添加到项目设置文件中:

DAB_FIELD_RENDERER = 'django_admin_bootstrapped.renderers.BootstrapFieldRenderer'

Messages默认情况下有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添加到任何模型的更改表单

您可以在创建模板的任何更改表单上插入自定义HTML 将admin_model_MODELNAME_change_form.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中创建一个类,使用 {TT15}$MIXIN,像 这个:

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

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

现在可以像往常一样使用inline。查看屏幕截图部分以查看结果 会看起来像。

这个功能是由Kyle Bock带给您的。谢谢凯尔!

xhtml兼容

兼容HTML和XHTML。为django应用程序启用xhtml 在settings.py中添加以下内容:默认内容类型= '应用程序/xhtml+xml'

管理

中的常规查找

所有需要做的就是用 formfield_覆盖如下:

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_overridesyou should be aware of its limitations with relation fields

这个特性(还有更多)是由Jacob Magnusson带给您的。谢谢你,雅各布!

贡献

每一个代码,文档和用户体验的贡献都是受欢迎的。

找到问题了吗?在追踪器里报告!

有空吗?帮助解决一个已经提交的问题,请记住在一个单独的分行工作。

屏幕截图

主页

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java GridBagLayout不填充区域   java Memozied Fibonacci未运行与常规Fibonacci解决方案   Java Web启动未启动问题   Java中异常和if-then的区别   java从命令提示符运行批处理文件获取错误   socket在Java中验证SSL证书的公共名称   如何在JAVA中检查字符串数组中的相等字   用java语言将音频文件转换成文本文件的语音识别   java为什么foo(1,2,3)没有传递给varargs方法foo(对象…)作为整数[]   java通过蓝牙将奇怪的数据从Arduino传输到Android   java ContainerRequestFilter获取空entitystream   java如何从安卓 studio中删除不兼容类型错误   基本Java错误   在Spring引导中使用REST API时发生java错误   javascript通过从SQL查询派生的URL打开页面