如何从 python/django 生成 swf 格式的 sildeshow?
基本上我有一个图像和文本列表,我想使用 python 生成一个 swf 文件。
我检查过似乎使用 MING 或 PyAMF 是前进的方向,但我不太明白它应该如何工作。
谢谢。
好的,所以要创建一个 swf 幻灯片,您需要使用 Adobe 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/
的并检索SlideShow
id 为 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,那么您将了解以上内容。
这是你想要的吗?