2011-07-27 7 views
1

djangoのprebuiltユーザーモジュールにフィールド "location"を追加するタスクが与えられました モジュール自体の場所が見つかり、管理フィールドと管理モジュールを追加しました新しいユーザーを追加するDjangoプレビルドフォームを変更する

例:

class UserAdmin(admin.ModelAdmin): 
    add_form_template = 'admin/auth/user/add_form.html' 
    change_user_password_template = None 
    fieldsets = (
     (None, {'fields': ('username', 'password')}), 
     (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'location')}), 
     (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', 'user_permissions')}), 
     (_('Important dates'), {'fields': ('last_login', 'date_joined')}), 
     (_('Groups'), {'fields': ('groups',)}), 
    ) 

私はそれが新しいユーザーフォームを追加することで現れる望んデータベースを再構築。 しかし、それは動作していないようでした。だから私は何かを変えるのを忘れたと思う。 私は、実際の「ユーザーの変更」フォームが呼び出された場所を見つけることを試みている年齢のhtmlコードを探していましたが、それを見つけることができませんでした。

事前に構築されたdjango adminバックエンドを扱ってくれた人の助けをありがとうと思います。 ありがとうございました!

答えて

1

djangoのユーザモデルを変更することは、物事を複雑にするのでお勧めできません。代わりに、文書化されたhereのようにユーザープロファイルを追加できます。

+0

ありがとうございました、これは私が私も疑問を持っている:) – Angie

+0

をまさに必要です。新規ユーザーを作成するときに管理者が必要な場合は、新しいユーザーフォームを作成する際に彼の場所を指定してください。このフィールドに記入するにはどうすればよいですか?私はまったく同じ、この以前の質問を見つけました。http://stackoverflow.com/questions/44109/extending-the-user-model-with-custom-fields-in-django – Angie

1

プロファイルを管理者側に表示する場合は、プロファイルをインラインで添付し、ユーザーの登録を解除してから再登録することができます。ここで私はそれを行う方法は次のとおりです。

from django.contrib.auth.models import User 
from reversion.admin import VersionAdmin 
from profiles.models import Profile 
from django.contrib import admin 
from django.contrib.auth.admin import UserAdmin 

class ProfileInline(admin.StackedInline): 
    model = Profile 
    fk_name = 'user' 
    extra = 0 
    max_num = 1 
    fieldsets = [ 
     ('Company', {'fields': ['company', 'office']}), 
     ('User Information', {'fields': ['role', 'gender', 'phone', 'mobile', 'fax', 'street', 'street2', 'city', 'state', 'zip']}), 
     ('Site Information', {'fields': ['sites']}), 
    ] 

class NewUserAdmin(VersionAdmin): 
    inlines = [ProfileInline, ] 

admin.site.unregister(User) 
admin.site.register(User, NewUserAdmin) 
関連する問題