时间轴
项目描述
这为Timelines JS 3提供后端。您可以使用外部链接到媒体或链接到内部对象。
初始设置
通过pip安装
pip install django-timelines
修改INSTALLED_APPS
INSTALLED_APPS = [ ... "contentrelations", "timelines", ]
在迁移应用程序之前设置TIMELINES_BACKGROUND_IMAGE_MODEL设置。此模型应该是您使用的照片管理应用程序。此设置允许swapper设置该模型与timelines模型之间的关系
TIMELINES_BACKGROUND_IMAGE_MODEL = "media.Photo"
设置TIMELINES_SETTINGS。 BACKGROUND_IMAGE_RELATED_FIELD是TIMELINES_BACKGROUND_IMAGE_MODEL上的实际FileField或ImageField
TIMELINES_SETTINGS = { 'BACKGROUND_IMAGE_RELATED_FIELD': 'photo', }
创建适配器
为了在时间轴中使用现有模型,您需要为它创建一个适配器。适配器允许您自定义或映射Django时间轴所需的信息到您的模型。关于适配器的一些注意事项
模型的适配器不需要与模型在同一个应用程序中。这允许您适应通过pip安装且您无法控制的模型。
Django时间轴将在启动时导入每个已安装应用程序的适配器模块。这是一个放置适配器的好地方。
适配器示例
from timelines.registration import registry, TimelineAdapter from .models import Photo class PhotoAdapter(TimelineAdapter): def get_headline(self): return self.instance.title def get_clickthrough_url(self): return self.instance.get_absolute_url() def get_credit(self): return self.instance.taken_by def get_text(self): return self.instance.description def get_media_url(self): return self.instance.photo.url def get_thumbnail(self): return self.instance.photo.url registry.register(Photo, PhotoAdapter)
使用适配器
适配器定义了几个属性及其访问器方法。
clickthrough_url和get_clickthrough_url():一个URL,如果提供,将在描述中添加“阅读更多”链接。返回None以省略链接。
credit 和 get_credit():提供媒体的信用信息。
headline 和 get_headline():幻灯片的标题。
media_url 和 get_media_url():幻灯片媒体的URL。
text 和 get_text():幻灯片的文本。
thumbnail 和 get_thumbnail():时间线缩略图。
为了减少您的工作量,适配器足够智能,能够在模型实例上查找属性名。您不需要使用 adapter.get_headline(),只需使用 adapter.headline,这样适配器就可以使用其内部逻辑来获取正确的值。
当您访问所需的属性之一时,适配器首先尝试使用 get_FOO() 方法。如果返回的值是“falsey”_,则适配器会在模型实例上查找属性。因此,如果您的模型已经有一个 text 属性,除非您希望修改值,否则不需要定义 get_text 方法。
定义时间线或幻灯片的媒体
幻灯片和时间线(对于标题幻灯片)都定义了一个要在幻灯片上显示的媒体。Django 时间线允许指定外部URL或内部对象的链接。内部对象链接的好处是它可以为您提供其他字段的值,并且对象的修改会自动出现在时间线上。
即使您指定了内部对象,您仍然可以覆盖该模型适配器提供的值。
指定媒体
对于外部URL,只需在 媒体URL 字段中输入值。
对于内部对象,从 媒体内容类型 字段中选择模型(只显示已注册适配器的模型)。然后单击放大镜图标以打开一个窗口来浏览对象。您也可以在此处创建一个新对象。
设置内容字段
对于外部URL,您必须手动设置适当的值。
对于内部对象,每个字段下的帮助文本将告诉您从模型适配器确定的默认值。如果需要,您才需要输入值。
修改背景 (可选)
单击 使用媒体作为背景 以使用第1步中指定的URL或对象作为幻灯片的背景。
您可以通过指定 背景图像 来指定用作背景的替代图像。
您可以指定背景颜色(默认为白色)。
创建时间线
按照 定义时间线或幻灯片媒体 中的说明来指定标题幻灯片信息和背景。
在 其他信息 部分,您可以更改 缩放,添加 时代(见下文 时代)并将时间线标记为 已发布。
向时间线添加幻灯片
单击 添加另一个幻灯片。
单击放大镜图标。
选择或创建一个幻灯片。一旦您保存了时间线,您将看到关于幻灯片的摘要数据以及一个编辑幻灯片的链接。
TimelineJS 有能力根据事件的 组 在同一行或相邻行中组织事件。如果需要,您可以填写组属性。
如有必要,输入 顺序。幻灯片会自动按日期排序。然而,由于多个事件可能有相同的日期,因此请使用顺序字段进行精细控制。
创建幻灯片
设置开始日期和可选时间。有关日期的更多信息,请参阅下文 日期、时间和分辨率。
可选设置结束日期和时间。
根据上面定义时间轴或幻灯片中的媒体设置媒体和内容。
日期、时间和分辨率
您可以指定具有可变分辨率的日期。允许的分辨率包括
年(例如,1776年)
月(例如,1776年7月)
日(例如,1776年7月4日)
日期时间(例如,1776年7月4日下午5:24)
日期按最低分辨率到最高分辨率的顺序排序,具体如下
年分辨率在当年的1月1日之前排序。可以将其视为该年的1月0日。
月分辨率在该年的该月1日之前排序。可以将其视为指定月份的0日。
日期分辨率在该日期午夜之前排序。可以将其视为该日期的-1 AM,因为午夜是0。
日期时间分辨率按时间排序。
时代
时代用于在时间轴导航组件上标记一段时间。时代可以在时间轴对象之间重复使用。它们包括一个开始日期和一个结束日期,以及一个可选的标签。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。