跳转到主要内容

一个简单的应用程序,用于管理新闻编辑室人员和组织结构。

项目描述

django-editorial-staff

django-editorial-staff 是一个简单的Django应用程序,用于存储和管理新闻编辑室人员以及他们在其中的组织结构。

它包含一个强大的API,其他应用程序可以将其作为组织用户“唯一可信来源”。

它还包含一个“数据提供者”功能,可以从第三方服务快速自动获取用户数据(并附带一个用于Slack组织的“数据提供者”)。

快速开始

  1. 安装此应用程序

     pip install django-editorial-staff
    
  2. 将四个条目(三个辅助应用程序和“editorial_staff”)添加到您的INSTALLED_APPS设置(在settings.py)中,如下所示

    INSTALLED_APPS = [
        ...
        'bootstrap3',
        'colorfield',
        'rest_framework',
        ...
        'editorial_staff',
    ]
    
  3. 将以下行添加到您的settings.py文件中(以配置表单渲染)

     BOOTSTRAP3 = {
         'field_renderers': {
             'default': 'bootstrap3.renderers.FieldRenderer',
             'inline': 'bootstrap3.renderers.InlineFieldRenderer',
             'immaterial': 'editorial_staff.field_renderers.ImmaterialFieldRenderer',
         },
     }
    
  4. 将editorial_staff URLconf包含到您的项目urls.py中,如下所示

    url(r'^staff/', include('editorial_staff.urls')),
    
  5. 运行python manage.py migrate以创建人员模型。

  6. 启动开发服务器并访问http://127.0.0.1:8000/staff/以查看人员列表并添加其他人。

  7. 访问http://127.0.0.1:8000/staff/api/以探索应用程序的REST API。

配置

包含的几个设置允许您自定义大多数关于 django-editorial-staff 的方面。

与“数据提供者”功能相关的设置将在下一节中讨论。其他可用的设置包括:

设置名称 默认值 说明
EDITORIAL_STAFF_BASE_URL ''(空字符串) 可选。 该应用/项目所在服务器的完整URL。用于生成通过Slack发送的链接。
EDITORIAL_STAFF_LOGOUT_URL None 可选。 一个视图的命名URL模式,该视图用于注销用户。如果为空,则不会在应用全局导航中包含注销链接。
EDITORIAL_STAFF_EMAIL_DOMAIN 'example.com' 可选。 大多数工作人员接收电子邮件的域名。主要用于在工作人员创建表单上生成 user@example.com 的占位文本。
EDITORIAL_STAFF_API_NAME 'Staff API' 可选。 该应用生成的API的品牌名称。仅在Django REST framework生成的页面上显示。这不是很重要;只是在这里列出,因为很容易将其传递给REST framework。

数据提供者配置

django-editorial-staff 的数据提供者配置分为两部分

  • 使用 EDITORIAL_STAFF_DATA_PROVIDER 设置,一个可以包含正在使用的提供者路径的字符串(或 None 以不使用数据提供者来使用应用),以及

  • 使用 EDITORIAL_STAFF_DATA_PROVIDER_OPTIONS 设置,为所选提供者提供额外的选项的字典。

第二个设置旨在具有灵活性,其字典包含对活动提供者相当独特的属性。

目前,该应用仅包括一个提供者('editorial_staff.data_providers.SlackProvider'),它允许用户从连接的Slack工作区检索工作人员数据。此提供者在 EDITORIAL_STAFF_DATA_PROVIDER_OPTIONS 中可以定义两个可能的值

  • notification_channel,这是发布“创建新工作人员”公告的Slack频道的名称,以及
  • excluded_email_domains,它阻止Slack用户数据被导入到新的工作人员对象中,如果Slack用户的电子邮件地址域在此列表中。

注意: 如果 EDITORIAL_STAFF_DATA_PROVIDER 设置为 None(或完全从 settings.py 文件中省略),则不会连接任何提供者。

与Slack集成

要开始使用Slack数据提供者,请遵循上述安装步骤,然后执行以下操作。

  1. 安装以下Slack提供者特定的依赖项

    pip install probablepeople~=0.5.4
    pip install slacker~=0.9.0
    
  2. 将上面提到的数据提供者设置添加到您的 settings.py 文件中

    ...
    EDITORIAL_STAFF_DATA_PROVIDER = 'editorial_staff.data_providers.SlackProvider'
    
    EDITORIAL_STAFF_DATA_PROVIDER_OPTIONS = {
        'notification_channel': 'staffer-announcements',  # Can also be omitted
    }
    ...
    

    (其中 staffer-announcements 是您希望每当添加工作人员时接收消息的通道名称)。

  3. 在您的Slack工作区中创建一个API令牌,并将其添加到您的 settings.py 文件下的 SLACK_TOKEN 名称。

前端开发

django-editorial-staff 前端页面使用ES6和SCSS构建,并且该应用包括一个Gulp安装,可以将这些方言编写的文件转换为纯JavaScript和CSS。

当在前端开发时,您需要自行运行此Gulp安装。按照以下步骤开始。

  1. 打开一个终端窗口,并导航到该应用的根目录。

  2. 在应用内部,导航到 ./editorial_staff/staticapp

  3. 如果这是您第一次在此项目上运行Gulp,请运行 npm install 以安装JS依赖项。这可能需要几分钟。

  4. 一旦安装了依赖项,请运行 gulp 以开始本地开发。

  5. 当您的 Gulp 服务器显示已启动并运行时,请访问 http://127.0.0.1:3000/staff/ 以预览您的前端文件。

  6. 通过修改位于 ./editorial_staff/staticapp/scss/./editorial_staff/staticapp/js/ 的文件来继续修改您的前端界面。您的更改将自动应用于 Gulp 服务器 URL,无需手动重新加载页面。

项目详情


下载文件

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

源分布

django-editorial-staff-0.8.0.tar.gz (2.8 MB 查看哈希值)

上传时间

构建分布

django_editorial_staff-0.8.0-py2.py3-none-any.whl (2.9 MB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持