2012-02-27 12 views
1

私はDjangoを初めて使う人です。私は、ユーザーだけをスタッフのユーザーとして含むWebサイトで作業しています。私は管理者です。私の計画は、ユーザーを登録して、ログインするためのユーザー名とパスワードを与えることです。私は彼にのみプロフィールを編集して、より多くの情報を追加し、既存の属性を変更することはできません。どうやってやるの?スタッフのユーザーはDjangoの管理者のプロファイルをどのように編集しますか?

答えて

0

最も簡単な方法は、適切なModelFormと対応するビューを作成し、ユーザーが更新したいインスタンスが独自のインスタンスであることを確認することです。

私は管理バックエンドでこれを直接統合したいと思っています。これを行うこともできます。最もdjangoishの方法は適切なメソッドがオーバーライドされているUserhereを開始するメソッドを参照)を持つ独自のModelAdminクラスを作成することです。私はhas_change_permissionをオーバーライドして、ユーザーが編集しようとしているオブジェクトが自分自身であるかどうかをチェックし、そうでない場合はFalseを返すことを確認する必要があると思います。

from django.contrib import admin 
from django.contrib.auth.admin import UserAdmin 
from django.contrib.auth.models import User 
class MyUserAdmin(UserAdmin): 
    # add the code here 

# deregister the standard AdminModel and register the own one 
admin.site.unregister(User) 
admin.site.register(User, MyUserAdmin) 

(私はライブのサイトにこのコードを使用していますし、それが作成働く)

:あなたはadmin.pyで少しfiddelingを行う必要がありModelAdminの標準ユーザーを置き換えるために

関連する問題