こんにちは、@login_required を使用して、ユーザーのブックマークを保存するページへのアクセスを制限していますが、場合によっては、ユーザーが自分のブックマークのみにアクセスできるようにする必要があり、別のユーザーに属するブックマークを編集する URL を入力しようとすると停止する必要があります。 . どうやってやるの?
質問する
73 次
1 に答える
3
@login_required
ビューにアクセスするためにユーザーがログインしていることを確認するのに役立ちます。
ビューにアクセスしたら、ユーザーがブックマークへのアクセスを許可されていることを確認し、アクセスが許可されているブックマークのみをフェッチすることができます。
たとえば、URLが次のようになっている場合
/bookmarks/
と機能に対応しますbookmarks
@loggin_required
def bookmarks():
# only fetch book makrs for this user
bookmarks = Bookmarks.objects.filter(user=request.user)
これにより、ユーザーがURLにアクセスするためにログインし、ページを表示しているユーザーに対してのみブックマークが表示されるようになります。一部のユーザーが他のユーザーのブックマークを表示できる場合は、ある種の権限システムを追加できます
このビューにユーザーのすべてのブックマークが表示され、ブックマークなどを編集するためのURLを提供したい場合
bookmarks/{{ bookmark_id }}/edit
にマップしますedit_bookmark
@login_required
def edit_bookmark(bookmark_id):
# user is guarenteed to be logged in so request.user is available
# your permission system will depend on how you authenticate whether a user can edit
# a bookmark or not
# CHECK if user has permission to edit bookmark
pass
于 2012-12-03T17:34:55.153 に答える