0

Apache+wsgi_modを使用してdjangoアプリケーションを開発しています。ユーザーの画像を返す単純なビューアを定義しました。ただし、ユーザーが画像を持っていない場合は、静的フォルダーに保存されている静的な標準画像(性別によって異なります)をレンダリングします。static.serve()を使用できることは知っていますが、djangoのドキュメントではこれを思いとどまらせています。ビューアから静的ファイルを提供するにはどうすればよいですか?

アップデート:

ビューアーはviews.pyで定義されたメソッドです(例:以下のimg)

静的コンテンツにHttpResponseRedirect()を返したい場合があります。しかし、絶対URLが必要です。

私はそのようなものを持っているのでこれが必要です:

def img(request, usr_id):
    usr_image = get_usr_image(usr_id)
    if usr_image == None:
        return respond_with_standard_image()
    else:
        response = HttpResponse(mimetype='image/jpg')
        response.write(usr_image)
        return response

標準のユーザーイメージで応答したい。

UPDATE2:

私はそのようなことをすることができます:

return HttpResponseRedirect('http://' + request.get_host() + settings.STATIC_URL + 'img/125px-Silver_-_male.png')

しかし、私は満足していません。

4

1 に答える 1

0

Django は、画像やその他の静的ファイルのレンダリングに関与するべきではありません。ユーザーの画像をカスタム ディレクトリに配置し、Web サーバーで直接提供する必要があります。

元のファイルが存在しない場合に別のイメージをレンダリングすることは、書き換えルールを使用して簡単に実現できます。

于 2011-07-28T12:26:21.263 に答える