私は Apache を使用して Django アプリをデプロイし、デコレーターを使用してほとんどのビューで認証を確認しました。
@custom_decorator
def myView(request):
bla bla bla...
Django に付属する @login_required デコレーターではありませんが、特定のグループのユーザーのみにアクセスを許可することを除いて、ほとんど同じです。これは意図したとおりに機能します。
また、次のように、メディア (ユーザーがアップロードした) ファイルを Apache で提供しています。
Alias /media /path/to/media
<Directory /path/to/media>
Require all granted
</Directory
メディア ファイルには問題なくアクセスできますが、問題は、ログインしていなくても次のように URL を手動で入力するだけでアクセスできることです。
mySite/media/myFile.png
できればカスタム デコレータを使用して、メディア ファイルへのアクセスを制限する方法はありますか?
同様の質問に出くわしました: How do you Require Login for Media Files in Djangoですが、残念ながら答えは私の頭をはるかに超えていました。
前もって感謝します!