跳转到主要内容

Django admin的Facebook-like时间轴

项目描述

为Django admin提供的Facebook-like时间轴应用。它与内置功能每日进度非常相似,但具有更漂亮的模板和无限制滚动。操作按天分拆,然后按操作分拆。可以按用户(多选)和内容类型(多选)过滤操作。

PyPI Version Supported Python versions Build Status GPL-2.0-only OR LGPL-2.1-or-later Coverage

先决条件

现有

django-admin-timeline 1.8版本开始

  • Django 2.2, 3.0和3.1

  • Python 3.6, 3.7和3.8

过去

在过去的版本1.7.x中,django-admin-timeline仍然支持

  • Django 1.11, 2.0

  • Python 2.7, 3.5

安装

  1. 在您的虚拟环境中安装

    从PyPI的最新稳定版本

    pip install django-admin-timeline

    从BitBucket的最新稳定版本

    pip install https://bitbucket.org/barseghyanartur/django-admin-timeline/get/stable.tar.gz

    从GitHub的最新稳定版本

    pip install https://github.com/barseghyanartur/django-admin-timeline/archive/stable.tar.gz
  2. admin_timeline添加到全局settings.py中的INSTALLED_APPS

    INSTALLED_APPS = (
        # ...
        'admin_timeline',
       # ...
    )
  3. 运行以收集静态文件(如果出现问题,请参阅故障排除部分)

    ./manage.py collectstatic
  4. 在全局settings模块中覆盖应用设置(请查看apps.admin_timeline.defaults以获取设置列表)。目前最重要的是NUMBER_OF_ENTRIES_PER_PAGE - 每页显示的条目数量(适用于非AJAX和AJAX请求)。

  5. 将以下行添加到全局urls模块

    # Admin timeline URLs. Should be placed BEFORE the Django admin URLs.
    url(r'^admin/timeline/', include('admin_timeline.urls')),
    url(r'^admin/', include(admin.site.urls)),

演示

实时演示

请查看Heroku上的实时演示应用

凭据

  • 用户名:admin

  • 密码:test

本地运行演示

为了能够快速评估django-admin-timeline,已创建了一个演示应用(带有快速安装器)(适用于Ubuntu/Debian,可能也适用于其他Linux系统,尽管没有保证)。按照以下说明,在一分钟内运行演示。

获取并运行最新的django_admin_timeline_example_app_installer.sh

wget -O - https://raw.github.com/barseghyanartur/django-admin-timeline/stable/examples/django_admin_timeline_example_app_installer.sh | bash

打开您的浏览器并测试该应用。

如果快速安装器对您不起作用,请查看示例项目的手动步骤。

故障排除

如果静态文件未正确收集(缺少admin_timeline.jsadmin_timeline.css文件),请从源代码安装最新稳定版本。

pip install https://github.com/barseghyanartur/django-admin-timeline/archive/stable.tar.gz

用法

遵循所有安装步骤后,您应该可以通过以下方式访问django-admin-timeline

http://127.0.0.1:8000/admin/timeline/

有一个示例应用可用。请参阅示例目录

配置和调整

如果您有很多日志条目,并且无法获取所有内容类型和用户,请在设置中将ADMIN_TIMELINE_SIMPLE_FILTER_FORM设置为True。然后它会将您的多选小部件更改为普通字符字段(允许逗号分隔的ID)。

测试

项目由测试(功能测试和浏览器测试)覆盖。要测试所有支持的Python/Django版本,请输入

tox

要针对特定环境进行测试,请输入

tox -e py36-django111

仅测试您的工作环境,请输入

./runtests.py

假设您已安装所有要求。如果没有,首先安装测试要求

pip install -r examples/requirements/testing.txt

浏览器测试

对于浏览器测试,您可以选择Firefox、无头Firefox和PhantomJS。PhantomJS速度更快,无头Firefox也很快,但正常Firefox测试可以告诉您更多(因为您可以看到屏幕上确切发生的事情)。两种情况都需要一些努力,并且两种方法在安装方面都有缺点(尽管一旦安装,它们就可以完美工作)。

Firefox的最新版本通常不受Selenium的支持。Python的Selenium当前版本(2.53.6)与Firefox 47配合良好。因此,您最好使用自定义Firefox而不是系统Firefox。

对于PhantomJS,您需要安装NodeJS。

设置Firefox 47

  1. 此位置下载Firefox 47并将其解压到/usr/lib/firefox47/

  2. FIREFOX_BIN_PATH设置中指定您的Firefox的完整路径。示例

    FIREFOX_BIN_PATH = '/usr/lib/firefox47/firefox'

    如果您设置为使用系统Firefox,请删除或取消注释FIREFOX_BIN_PATH设置。

之后,您的Selenium测试将正常工作。

设置无头Firefox

  1. 安装xvfb包,该包用于以无头模式启动Firefox。

    sudo apt-get install xvfb
  2. 使用无头Firefox运行测试。

    ./scripts/runtests.sh

    或使用无头Firefox运行tox测试。

    ./scripts/tox.sh

设置PhantomJS

您还可以以无头模式运行测试(更快)。为此,您需要PhantomJS。

  1. 安装PhantomJS及其依赖项。

    curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh
    sudo bash nodesource_setup.sh
    sudo apt-get install nodejs
    sudo apt-get install build-essential libssl-dev
    sudo npm -g install phantomjs-prebuilt
  2. 指定 PHANTOM_JS_EXECUTABLE_PATH 设置。示例

    PHANTOM_JS_EXECUTABLE_PATH = ""

    如果您想使用 Firefox 进行测试,请删除或注释掉 PHANTOM_JS_EXECUTABLE_PATH 设置。

许可

GPL-2.0-only OR LGPL-2.1-or-later

支持

如有任何问题,请联系作者部分提供的电子邮件。

作者

Artur Barseghyan <artur.barseghyan@gmail.com>

屏幕截图

https://github.com/barseghyanartur/django-admin-timeline/raw/master/docs/_static/admin_timeline.png

项目详情


下载文件

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

源分布

django-admin-timeline-1.8.tar.gz (91.0 kB 查看散列值)

上传时间

构建分布

django_admin_timeline-1.8-py2.py3-none-any.whl (107.6 kB 查看散列值)

上传时间 Python 2 Python 3

支持者