私のdjangoプロジェクトのすべてのページにユーザーのアバターを表示します。 私は<img>
タグをbase.htmlで使用し、hrefでは次のように書きます:{{ request.user.profile.get_avatar }}
。 が正しく動作しません。 プロジェクトの最初のページには機能しますが、別のページでは機能しません。django - django appのすべてのテンプレートでイメージを提供する方法は?
問題はアドレスです。 たとえば、URL www.mysite.com/indexのインデックスページに画像が表示されます。 www.mysite.com/v1/v2/v3にはイメージが表示されません。
これは、プロファイルクラスのget_avatar方法であって、MEDIA_URL
設定は、例えば、絶対URLでなければならない
def get_avatar(self):
if self.avatar:
return os.path.join(settings.MEDIA_URL + str(self.avatar))
else:
return os.path.join(settings.MEDIA_URL + str('avatars/student.jpg'))
動作しないビューを表示してください。 – Alasdair
settings.pyの 'TEMPLATES = []'変数に ''django.core.context_processors.request '、'を追加しましたか? – Hybrid
@Hybridこの "django.template.context_processors.request"はTEMPLATES変数にあります...今では、 'django.core.context_processors.request'をTEMPLATES変数に追加してこのエラーを生成しました: 'django.core.context_processors ' – msln