1

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

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

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

谢谢。

4

1 回答 1

1

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

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

视图.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")

这将响应 url 之类/slideshow/10/的并检索SlideShowid 为 10 的对象,然后将其传递给要呈现的 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 文件。

模型.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,那么您将了解以上内容。

这是你想要的吗?

于 2013-11-12T18:23:09.880 回答