【问题标题】:how to generate a slideshow in swf format from python?如何从 python 生成 swf 格式的幻灯片?
【发布时间】:2013-11-24 22:48:15
【问题描述】:

如何从 python/django 生成 swf 格式的 sildeshow?

基本上我有一个图像和文本列表,我想使用 python 生成一个 swf 文件。

我检查过似乎使用 MING 或 PyAMF 是前进的方向,但我不太明白它应该如何工作。

谢谢。

【问题讨论】:

  • 必须是 swf 吗?图像是否必须嵌入到 swf 中?有很多基于 javascript 的插件可以做同样的事情。只需向他们传递来自 django 的图像列表。
  • 必须是 swf 有什么想法吗?谢谢。
  • 类似这样的:maani.us/xml_slideshow 并在 django 中生成 xml?
  • 谢谢它似乎是方向,它看起来像 1. 配置我的 django 应用程序以使用静态数据生成 xml 2. 无论如何使用 xml_slideshow 生成 swf 或文档让我了解更多编程.swf 文件是什么?我试图谷歌,但我没有找到明显的东西。我想对我的幻灯片有更多的控制。谢谢。
  • 啊好吧,使用插件的好处是你不必编写swf。那一点已经为您完成了,只需提供 xml

标签: python django pyamf ming


【解决方案1】:

好的,所以要创建一个 swf 幻灯片,你需要使用 Adob​​e Flash,一个合适的教程:http://www.republicofcode.com/tutorials/flash/slideshow/

要从 django 输出 xml 文件,请使用输出 xml 的视图:

views.py

from django.template.loader import render_to_string
from django.http import HttpResponse

def slideshow_xml(request, pk):
    slideshow = Slideshow.objects.get(pk=pk)
    xml = render_to_string('xml_template.xml', {'slideshow': slideshow})

    return HttpResponse(xml, mimetype="application/xml")

这将响应/slideshow/10/ 之类的 url 并检索 id 为 10 的 SlideShow 对象,然后将其传递给要呈现的 xml 模板:

模板 xml_template.xml

<?xml version="1.0" encoding="UTF-8"?>
<slideshow width="{{ slideshow.width }}" height="{{ slideshow.height }}" speed="{{ slideshow.speed }}">
     {% for image in slideshow.slideshowimage_set.all %}
      <image url="{{ image.image.url }}" title="{{ image.title }}" />
     {% endfor %}
</slideshow>

这将输出上述教程所需的 xml 格式。它提取存储在对象中的数据以创建 xml 文件。

models.py:

from django.db import models

class SlideShow(Models.model):
    height = models.IntegerField()
    width = models.IntegerField()
    speed = models.IntegerField()

class SlideShowImage(Models.model):
    slideshow = models.ForeignKey(SlideShow)
    title = models.CharField(max_length=100)
    image = models.ImageField(upload_to='slideshow_images/')

这些模型可以在 django 的管理界面中创建,并允许指定幻灯片的参数。可以创建任意数量的SlideShowImage 对象并将其连接到单个SlideShow 对象。

如果您之前没有使用过 django,django tutorial 会让您了解以上内容。

这是你想要的吗?

【讨论】:

  • 谢谢!确切地!我会检查更多并处理我的东西,然后让你知道更多,可能是周末。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
相关资源
最近更新 更多