0

絶対パスが必要な fb:swf に埋め込む必要があるため、swf ファイルにリダイレクトしようとしています。URLのswfを処理すると、どういうわけか機能しません。

url.py で

(r'^flash/','lastproject.yofacebook.flashtest.flash'),

flahstest.flash 内

def flash(request):
return render_to_response('as3.swf')

このURLの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
4

2 に答える 2

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は静的ディレクトリにあります。

于 2012-04-13T23:21:03.413 に答える
1

render_to_responseテンプレートをレンダリングし、それを応答として送信するために使用されます。あなたの swf ファイルはテンプレートではないと思うので、直接返してください:

return HttpResponse(open('as3.swf'))

しかし、実際には、そのファイルを Django 経由で送信するべきではありません。残りの静的ファイル (CSS、JS など) を提供しているものは何でも提供する必要があります。

于 2009-12-21T09:50:21.073 に答える