一个简单的应用程序来管理编辑室人员和层次结构。
django-editorial-staff的Python项目详细描述
Django编辑人员
django-editorial-staff
是一个简单的django应用程序,用于存储和管理编辑人员及其工作的组织层次结构。
它包括一个健壮的api,其他应用程序可以将其视为组织中用户的“唯一真相来源”。
它还包括一个“数据提供程序”功能,可以快速自动地从第三方服务中接收用户的数据(并且附带了一个“数据提供程序”,用于松散的组织)。
快速启动
安装此应用程序:
pip install django-editorial-staff
将四个条目(三个助手应用程序和“编辑人员”)添加到您的已安装应用程序设置(在
settings.py
)中,如下所示:INSTALLED_APPS = [ ... 'bootstrap3', 'colorfield', 'rest_framework', ... 'editorial_staff', ]
在
settings.py
文件中添加以下行(以配置表单呈现):BOOTSTRAP3 = { 'field_renderers': { 'default': 'bootstrap3.renderers.FieldRenderer', 'inline': 'bootstrap3.renderers.InlineFieldRenderer', 'immaterial': 'editorial_staff.field_renderers.ImmaterialFieldRenderer', }, }
在项目url.py中包含编辑人员urlconf,如下所示:
url(r'^staff/', include('editorial_staff.urls')),
运行
python manage.py migrate
创建人员模型。启动开发服务器并访问 http://127.0.0.1:8000/staff/查看人员列表并添加其他人员。
访问http://127.0.0.1:8000/staff/api/探索应用程序的rest api。
配置
一些包含的设置允许您自定义django-editorial-staff
的大多数方面。
与“数据提供程序”功能相关的设置将在下一节中讨论。其他可用设置为:
Setting name | Default value | Description |
---|---|---|
^{ | ^{ | Optional. The full URL of the server on which this app/project will live. Used to generate links sent via Slack. |
^{ | ^{ | Optional.Named URL pattern of a view that logs users out. If blank, there won't be a log-out link included in the app-wide navigation. |
^{ | ^{ | Optional. The domain name at which most of your staffers receive email. Used mainly to generate the ^{ |
^{ | ^{ | Optional. The branded name for the API generated by this app. Only shown on Django REST framework-generated pages. This is not very important; it's just included here as it's easy to pass this option down to 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
,发布“新员工创建”公告的空闲频道的名称,以及excluded_email_domains
,如果松弛用户的电子邮件地址域在此列表中,则阻止将松弛用户数据导入新的人员对象。
注意:如果EDITORIAL_STAFF_DATA_PROVIDER
设置为None
(或完全从settings.py
文件中省略),则不会连接提供程序。
与slack集成
要开始使用slack数据提供程序,请按照上面的安装步骤进行操作,然后执行以下操作。
安装以下松弛提供程序特定依赖项:
pip install probablepeople~=0.5.4 pip install slacker~=0.9.0
将上面提到的数据提供程序设置添加到您的
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
是每当添加员工时要接收消息的频道的名称)。在松弛工作区中创建一个api令牌,并将其添加到
SLACK_TOKEN
文件的settings.py
名称下。
前端开发
django-editorial-staff
前端页面是使用es6和scss构建的,这个应用程序包括一个gulp安装,它将用这些方言编写的文件分别转换为普通的javascript和css。
在前端开发时,您需要自己运行这个gulp安装程序。按照以下步骤开始。
打开终端窗口并导航到此应用程序的根目录。
在应用程序中,导航到
./editorial_staff/staticapp
。如果这是您第一次在这个项目上运行gulp,请运行
npm install
来安装js依赖项。这可能需要几分钟。安装依赖项后,运行
gulp
开始本地开发。当您的gulp服务器说它已经启动并运行时,请访问http://127.0.0.1:3000/staff/进行实时预览你的前端文件。
通过更改
./editorial_staff/staticapp/scss/
和./editorial_staff/staticapp/js/
中的文件,继续修改前端接口。您所做的更改将应用于gulp服务器url,而无需手动重新加载页面。