Nexus是一个Django的可插拔管理应用程序。它旨在为您提供构建管理应用程序的简单设计和架构。
项目描述
Nexus
已弃用:此项目不再维护。 我(Adam Johnson)再也没有时间继续维护这个项目了。我这样做是为了支持 gargoyle-yplan,这是我为前雇主YPlan创建的分支。如果您想赞助持续维护或自己接管,请与我联系 me@adamj.eu。
Nexus是一个Django的可插拔管理应用程序。它旨在为您提供构建管理应用程序的简单设计和架构。
它最初由Disqus创建,但由于缺乏活动,我们YPlan团队接管了此分支的维护。
截图
要求
测试了所有组合的
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.admin、django.contrib.auth和django.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 span>,无需在URLConf中添加对< span class="docutils literal">nexus.autodiscover() span>的调用,类似于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 span>模板标记,因此它自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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6166ad3f4b8d56dd8089eefe420e674bbc1a2b7679be93e9ebe99538e1304ff7 |
|
MD5 | 61aa182170bacebbdd3a95a7e8536b38 |
|
BLAKE2b-256 | f3edeec067cbeba906a1f6e060c6c32b417317dfde32afa3ce229fe7f762a6b4 |
nexus_yplan-2.1.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3f9ae9c66e892eb431669129f3ae74cf0b0e7ba9ef55ff11310440def9de4beb |
|
MD5 | 06b280b62346a7c0a820ba3dd19b2207 |
|
BLAKE2b-256 | e0a19c99c64769562a35e6a9260eceb1c5fd372b1d2258915282c192a1dfbccc |