跳转到主要内容

Nexus是一个Django的可插拔管理应用程序。它旨在为您提供构建管理应用程序的简单设计和架构。

项目描述

Nexus

https://img.shields.io/pypi/v/nexus-yplan.svg https://travis-ci.org/adamchainz/nexus.svg?branch=master

已弃用:此项目不再维护。 我(Adam Johnson)再也没有时间继续维护这个项目了。我这样做是为了支持 gargoyle-yplan,这是我为前雇主YPlan创建的分支。如果您想赞助持续维护或自己接管,请与我联系 me@adamj.eu

Nexus是一个Django的可插拔管理应用程序。它旨在为您提供构建管理应用程序的简单设计和架构。

它最初由Disqus创建,但由于缺乏活动,我们YPlan团队接管了此分支的维护。

截图

https://raw.github.com/adamchainz/nexus/master/screenshot.png

要求

测试了所有组合的

  • Python: 3.6

  • Django: 1.11, 2.0, 2.1, 2.2

支持Python 3.4+

安装

使用pip安装

pip install nexus-yplan

如果您从原始版本升级到此分支,请确保首先运行pip uninstall nexus - 这些包存在冲突。

您需要像启用django.contrib.admin一样启用它。

首先,将其添加到您的INSTALLED_APPS设置中

INSTALLED_APPS = (
    ...
    'nexus',
)

nexus依赖于Django核心的三个依赖项 - django.contrib.admindjango.contrib.authdjango.contrib.sessions。如果这些应用程序不在您的INSTALLED_APPS中,请添加它们;或者如果您正在使用自定义认证系统,您可以通过在设置中添加行NEXUS_SKIP_INSTALLED_APPS_REQUIREMENTS = True来跳过这些要求。

其次,在您的urls.py中包含nexus

import nexus

# urls.py
urlpatterns = patterns('',
    ('^nexus/', include(nexus.site.urls)),
)

Nexus具有类似于Django Admin的自发现功能 - 它将查找每个INSTALLED_APPS中的nexus_modules子模块,并导入它。这就是应用程序应声明NexusModule子类并使用nexus.site.register将其添加到主Nexus站点的位置。因此,要添加功能,您应该安装带有模块的某些包,或者编写自己的代码。

可用模块

以下模块经过对nexus-yplan的测试

还有一些较老的应用程序提供Nexus模块,但这些仅针对Disqus的Nexus进行开发,而不是此分支;您的体验可能会有所不同

如果您想编写一个模块,tests/testapp/nexus_modules.py中有一些示例模块,模板在tests/testapp/templates/nexus/example中。此外,源代码也不难理解。

关于登录的说明

直到版本1.1,Nexus包含登录/注销功能。不幸的是,这些是从Django Admin中旧的代码版本中复制和修改的,因此没有跟上较新Django版本中的安全更改。由于保持它们更新将是一项负担,并且大多数网站使用Django Admin进行管理员登录,因此已删除登录/注销功能。

Nexus现在依赖于Django Admin登录,或者用户需要登录后通过其他途径访问。

设置

可以通过向Django设置中添加一些值来自定义Nexus的行为。

媒体

默认情况下,Nexus通过Python自行提供其媒体文件,从而避免了与项目集成的任何配置。这很方便,但可能较慢。您可以使用设置NEXUS_MEDIA_PREFIX控制媒体文件的服务位置,例如

NEXUS_MEDIA_PREFIX = '/served/here/'

这将使Nexus使用此前缀编写其媒体URL,其中它假设您已设置服务其文件。

历史

待发布

2.1.2 (2019-05-17)

  • 已弃用:此项目不再维护。 我(Adam Johnson)再也没有时间继续维护这个项目了。我这样做是为了支持 gargoyle-yplan,这是我为前雇主YPlan创建的分支。如果您想赞助持续维护或自己接管,请与我联系 me@adamj.eu

2.1.1 (2019-04-28)

  • 在Django 2.2上进行了测试。不需要进行任何兼容性更改。

2.1.0 (2019-04-14)

  • 取消支持Django 1.8、1.9和1.10。现在仅支持Django 1.11+

2.0.0 (2019-03-02)

  • 取消支持Python 2,现在仅支持Python 3.4+

1.6.1 (2018-10-17)

  • 修复Django弃用警告

1.6.0 (2017-10-28)

  • 添加Django 2.0b1支持

  • 在Django 1.11上进行了测试(不需要进行任何更改)

1.5.0 (2017-01-19)

  • 在基本模板上添加CSRF令牌,以便在Django的CSRF_COOKIE_HTTPONLY设置设置为时使AJAX请求正常工作

  • 删除了现在已过时的模板标签nexus_csrf_cookie_name

1.4.0 (2016-05-24)

  • 修复了长页面页脚的外观问题

  • 修复了标签高亮显示,并移除了仅为了支持旧版损坏代码而存在的 NexusModule.get_request

  • “jQuery Templates”不再包含在Nexus中 - 这是为了Gargoyle,现在它使用自己的捆绑模板代码。

1.3.1 (2016-02-25)

  • 主题更新了一些,使按钮看起来更漂亮。

1.3.0 (2016-02-24)

  • 新Logo和主题,感谢@emache。

  • 登录逻辑不再通过重定向循环将没有权限查看Nexus的用户发送出去,感谢@ChunYin的报告。

1.2.0 (2016-02-12)

  • 移除了对Django 1.7的支持。

  • 使用< span class="docutils literal">AppConfig,无需在URLConf中添加对< span class="docutils literal">nexus.autodiscover()的调用,类似于Django 1.7+的Django Admin。

  • jQuery已升级到1.6.4。

  • Facebox已升级到其master版本。

1.1.0 (2016-01-13)

  • 移除了对旧版Django版本的支持。

  • 在Django 1.7和1.8上修复了所有弃用警告。

  • 添加了对Django 1.9的支持。

  • 添加了对Python 3.4和3.5的支持。

  • 历史上Nexus有一个嵌入式Django Admin的模块;由于模板仍在使用已删除的< span class="docutils literal">adminmedia模板标记,因此它自Django 1.3以来就没有工作了。由于似乎没有人使用它,因此已经删除。鼓励用户使用正常的Django Admin。因此,Nexus没有包含任何模块。

  • 移除了从旧版Django Admin复制和修改的登录/注销页面,这些页面可能不再安全。如果您未登录Nexus,现在将重定向到Django Admin - 因此Django Admin现在是Nexus所必需的。

  • 感谢@karech和@graingert在原始Nexus上的PR,修复了Nexus CSRF保护以在更改了CSRF cookie名称的情况下正常工作。

  • 感谢@graingert,移除了所有内联JavaScript。

1.0.0 (2015-12-09)

  • 首次在PyPI上以nexus-yplan发布。

  • Django 1.8兼容性。

0.3.1 (2015-01-22)

  • 更好地支持Django 1.7和Python 3。

0.2.3 (2011-12-19)

  • 确保在豁免视图中我们仍然发送。

  • 将CSRF AJAX降级以与较旧版本的jQuery一起使用。

0.2.2 (2011-12-19)

  • 更新AJAX CSRF以针对正确的来源。

0.2.1 (2011-12-19)

  • 在Nexus页脚中添加了版本。

项目详情。


下载文件

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

源分布

nexus-yplan-2.1.2.tar.gz (64.5 kB 查看哈希值)

上传时间

构建分布

nexus_yplan-2.1.2-py3-none-any.whl (64.8 kB 查看哈希值)

上传时间 Python 3

支持者