Skip to main content

Django ORM 的内省接口。

项目描述

爵士乐队 构建状态 覆盖状态 https://badges.gitter.im/JoinChat.svg

django.contrib.admin最有用的部分之一是能够配置接触和更改数据的各种视图。django-admin2 使用现代基于类的视图完全重写了该库,并享受专注于可扩展性和适应性的设计。通过重新开始,我们可以避免遗留代码并更容易编写扩展和主题。

完整文档位于:https ://django-admin2.readthedocs.io/

特征

  • 重写 Django Admin 后端

  • 插入式主题

  • 内置 RESTful API

要求

安装

使用 pip 从 PyPI 安装:

pip install django-admin2

将 djadmin2 和 rest_framework 添加到您的设置文件中:

INSTALLED_APPS = (
    ...
    'djadmin2',
    'rest_framework', # for the browsable API templates
    ...
)

在设置文件中添加应用设置和默认主题:

# In settings.py
INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)
REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}
ADMIN2_THEME_DIRECTORY = "djadmin2theme_bootstrap3"

将 djadmin2 网址添加到您的 URLconf:

# urls.py
from django.conf.urls import include

from djadmin2.site import djadmin2_site

djadmin2_site.autodiscover()

urlpatterns = [
  ...
  url(r'^admin2/', include(djadmin2_site.urls)),
]

如何编写 django-admin2 模块

# myapp/admin2.py
# Import your custom models
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.models import User
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2

from .models import Post, Comment


class UserAdmin2(ModelAdmin2):
    # Replicates the traditional admin for django.contrib.auth.models.User
    create_form_class = UserCreationForm
    update_form_class = UserChangeForm


#  Register each model with the admin
djadmin2_site.register(Post)
djadmin2_site.register(Comment)
djadmin2_site.register(User, UserAdmin2)

从 0.6.x 迁移

  • 默认主题已更新为 bootstrap3,请务必替换您对新主题的引用。

  • Django rest framework 还包括多个分页系统,现在唯一支持的是 PageNumberPagination。

因此,您的设置需要包括以下内容:

# In settings.py
INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)
ADMIN2_THEME_DIRECTORY = "djadmin2theme_bootstrap3"

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

默认 admin2 站点已移至 djadmin2.site 确保您在 urls.py 中使用新闻 djadmin2_site:

# urls.py
from django.conf.urls import include

from djadmin2.site import djadmin2_site

djadmin2_site.autodiscover()

urlpatterns = [
  ...
  url(r'^admin2/', include(djadmin2_site.urls)),
]

从 0.5.x 迁移

现在明确定义了主题,包括默认主题。因此,您的设置需要包括以下内容:

# In settings.py
INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_default',)
ADMIN2_THEME_DIRECTORY = "djadmin2theme_default"

插入式主题

默认主题是最新的引导程序。具体来说:

# In settings.py
INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_bootstrap3',)
ADMIN2_THEME_DIRECTORY = "djadmin2theme_bootstrap3"

如果您创建一个新主题,您可以这样定义它:

# In settings.py
# Mythical theme! This does not exit... YET!
INSTALLED_APPS += ('djadmin2theme_foundation',)
ADMIN2_THEME_DIRECTORY = "djadmin2theme_foundation"

行为守则

在 django-admin2 项目的代码库、问题跟踪器、聊天室和邮件列表中进行交互的每个人都应该遵守Jazzband 行为准则

遵循最佳实践

该项目遵循 Django 的两个勺子:Django 1.8 的最佳实践中支持的最佳实践。

历史

0.7.0 (2016-11-16)

  • 修复 Django 1.8 问题并添加 1.9、1.10 兼容性

  • 将 django-rest-framework 更新到 3.3.x

  • 删除 django-crispy-forms 和 django-floppyforms

  • 重新生成示例项目以使其与 django 1.9 兼容

  • 更新 tox 和 travis 并添加 flake8

  • 将 AdminModel2Mixin 重命名为 Admin2ModelMixin

  • 添加迁移

  • 移除南迁

  • 将 IPAddressField 替换为 GenericIPAddressField

  • 修复用户管理员中的密码链接

  • 修复用户在密码更改时注销

  • 修复测试

  • 放弃对低于 1.8 的 django 版本的支持

  • 删除旧的 url.patterns

0.6.1 (2014-02-26)

  • 修复空表单显示

  • 添加了更明确的安装说明

  • 添加了迁移说明

  • 添加了“registry”和“app_verbose_names”的视图描述

  • 如果没有可见字段,则显示漂亮的消息和边距

  • 更新了 Django 1.6 更改的小部件控件。

  • 为无法实例化的管理视图提供更好的错误消息

  • 在 MANIFEST 中添加了 png glyphicons

0.6.0 (2013-09-12)

  • 实施 LogHistory 以跟踪最近的历史记录

  • 用于向 ModelAdmin2 对象添加新视图的新系统

  • 修复了缺失的 enctype=”multipart/form-data” 功能

  • 实现了“应用详细名称”

  • 应用程序可以有自定义名称

  • 可以设置列表操作,因此它们不需要选择模型

  • 实现了 ModelAdmin2.ordering

  • 为了保持 API 的一致性,将 views.AdminView 的“url”参数重命名为“regex”

  • 实现了 ModelAdmin2.date_hierarchy

  • 更改主题系统以使默认主题遵循与第三方主题相同的规则。

  • 内联现在分为堆叠和表格格式

  • 代码覆盖率现在显示在 README 中

  • 用户列表页面现在显示所有默认列和过滤器

  • 大量的文档改进

  • 转换为django.utils.encoding.force_str而不是unicode以键入边缘情况

  • setup.py 修复

0.5.1 (2013-07-14)

  • 不再依赖特定版本

  • 内置视图的文档显示上下文变量。

  • 将 django-filter 添加到依赖项列表

  • related_name 的问题已解决

  • 修复了 change_form 的高度

  • 示例应用实际上显示了添加的内容

  • 未来的拉取请求已国际化

  • 常见问题解答开始

0.5.0 (2013-07-08)

  • 实现了可定制的值渲染器

  • 使用 django-filters 实现列表过滤器。大大取代了 Django 提供的功能。

  • 实现了 ModelAdmin2.save_on_top 和 ModelAdmin2.save_on_bottom

  • 为 List 和 Detail 视图实现了 BooleanField 图标

  • 实现了默认的django.contrib.authdjango.contrib.sites注册

  • 在列表视图中实现了详细字段/方法名称的显示

  • 在默认主题中实现了模型列表字段的客户端排序

  • 实施改进的内部命名约定

  • 改进的示例项目主页

  • 改进的内部测试覆盖率

  • 主题中的上下文变量的文档

  • 更正了早期的命名决定

  • 大大提高了国际化

  • 将 django-admin2 添加到 Transifex

  • 法语、波兰语、斯洛伐克语、中文、德语、加泰罗尼亚语、意大利语和西班牙语的翻译。

0.4.0 (2013-06-30)

  • 实现了基于函数和基于类的操作视图

  • 实现了 ModelAdmin2.list_display

  • 实现了 ModelAdmin2.fieldsets

  • 下拉小部件现在显示选定的选项

  • 在 ModelAdmin2.list_display 中添加了对可调用对象的支持

  • 在 README 中添加了屏幕截图

  • 添加了第二个示例项目

  • 固定面包屑

  • 默认主题:正确关闭模板和媒体块

  • 默认主题:默认主题模板中的标准化缩进

  • 默认主题:指向 JQuery 的 CDN

  • 默认主题:为登录表单添加了基本样式

  • 默认主题:国际化所有文本字符串

0.3.0 (2013-05-31)

  • 通过 floppyforms 的 HTML5 表单。

  • 许多 API 改进。

  • 添加了面包屑。

  • 添加了登录、注销、更改密码视图。

  • 添加了操作。

  • 添加了对内联的支持。

  • 添加了基于视图的权限控制

  • 为子模型实施删除确认。

  • Testrunner 现在可以在特定的测试集或模块上运行。

  • 内部代码重构以遵循标准。

  • 移至 git-flow 以接受拉取请求。

  • 模型创建/更新页面现在有保存选项。

  • 为所有模板添加了 i18n,大部分是内部代码。

  • 所有打印语句都替换为正确的日志记录。

  • 文档中指定的设计目标。

0.2.0 (2013-05-19)

  • 诞生!(工作原型)

  • 易于扩展的 API,遵循与 django.contrib.admin 类似的模式。

  • 由 django-rest-framework 提供支持的内置 RESTFUL API。

  • 基于 Twitter Bootstrap 构建的默认主题。

  • 易于实现的主题系统。

  • 基本权限控制。

  • 测试人员

  • 文档

0.1.1 (2013-05-17)

  • 来自 django-mongonaut 的代码采用。

  • 准备 Django Circus 冲刺。

0.1 (2013-05-13)

  • 与 Russell Keith-Magee 讨论。

  • 成立。

下载文件

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

源分布

django-admin2-0.7.1.tar.gz (122.4 kB 查看哈希)

已上传 source

内置分布

django_admin2-0.7.1-py2-none-any.whl (146.1 kB 查看哈希)

已上传 py2