def download_key(request, key_file):
user = request.user
if not user.is_active:
return HttpResponseForbidden(u'此文件需要登录才可访问')
key = KeysManager.objects.get(key_file=key_file)
if not user.is_superuser or user not in key.who_can_see.all():
return HttpResponseForbidden(u'您没有权限访问些文件')
key_file_path = os.path.join(key.key_file.storage.location, key.key_file.name)
ret = FileResponse(open(key_file_path))
ret['Content-Disposition'] = 'attachment; filename="%s"' % key.key_file.name
return ret
Ini mungkin bukan isu yang perlu diuruskan oleh rangka kerja. Anda boleh menulis sesuatu untuk pengurusan kebenaran, dan kemudian gunakan penghias untuk menggantungnya pada fungsi paparan untuk menentukan sama ada ia mempunyai kebenaran yang mencukupi.
Selesai, terima kasih.
1. Tulis paparan
2. Sangkut pada url
Ini mungkin bukan isu yang perlu diuruskan oleh rangka kerja. Anda boleh menulis sesuatu untuk pengurusan kebenaran, dan kemudian gunakan penghias untuk menggantungnya pada fungsi paparan untuk menentukan sama ada ia mempunyai kebenaran yang mencukupi.