如何从python生成swf格式的幻灯片?

时间:2013-11-12 16:50:08

标签: python django pyamf ming

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

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

好的,所以要创建一个swf幻灯片,你需要使用Adobe 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/的网址并检索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 tutorial之前没有使用过django,那么就会让您了解上述内容。

这是你想要的吗?