我正在尝试重定向到swf文件,因为我需要在fb:swf中嵌入它想要它的绝对路径。当我在url中处理swf时,它不起作用。
在url.py中
(r'^flash/','lastproject.yofacebook.flashtest.flash'),
在flahstest.flash中
def flash(request):
return render_to_response('as3.swf')
我想在此网址上打开swf
http://testapp.varheroes.com/flash/
fb:swf
<fb:swf
swfbgcolor="ffffff"
swfsrc='http://testapp.varheroes.com/flash/'
width='620' height='530' />
我得到的错误
'utf8' codec can't decode bytes in position 5-6: invalid data
答案 0 :(得分:1)
render_to_response
用于呈现模板并将其作为响应发送。我不认为你的swf文件是模板,所以你应该直接返回它:
return HttpResponse(open('as3.swf'))
但实际上你根本不应该通过Django发送该文件,它应该由服务于其余静态文件(CSS,JS等)的任何服务提供。
答案 1 :(得分:1)
我会将你的swf文件保存在静态目录中并添加一个url模式以重定向到你的文件,例如:
from django.views.generic.simple import redirect_to
urlpatterns = patterns('',
...
(r'^flash/', redirect_to, {'url': settings.STATIC_URL + 'as3.swf'}),
...
)
这会重定向,例如/ flash /到STATIC_URL + as3.swf(例如:/static/as3.swf) as3.swf应该在您的静态目录中。