Django管理员的引导主题

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


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

PyPI version

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

要求

  • Django1.11

安装

  1. 使用pip install tendenci-django-admin-bootstrapped
  2. 'django.contrib.admin'之前添加到INSTALLED_APPS
'django_admin_bootstrapped',
  1. 玩得开心!在

配置

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

^{pr2}$

默认情况下,Messages将有alert-info标记, 因此,您可能需要为不同的消息级别添加bootstrap3标记,以使它们具有适当的样式。 添加到项目设置文件:

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', )

然后在你的管理员py创建一个类来使用 django_admin_bootstrapped.admin.models.SortableInlinemixin,比如 这个:

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

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

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

此功能由Kyle Bock提供。谢谢你凯尔!在

XHTML兼容

兼容html和xhtml。为django应用程序启用xhtml 将以下内容添加到设置.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带来的。谢谢你雅各布!在

贡献

每一个代码、文档和UX贡献都是受欢迎的。在

发现问题?在bugtracker上报告!在

有空吗?帮助解决一个已经归档的问题,请记住在一个单独的分支上工作。在

{id10}$

截图

主页

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将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误