/ / django реєстрація: який сучасний "канонічний" спосіб розширення "contrib.auth.models.User" - django, django-моделі, django-admin, django-форми

Реєстрація django: що таке сучасне "канонічне" спосіб поширення 'contrib.auth.models.User' - django, django-models, django-admin, django-forms

приміщення:

1) Навколишнє середовище: django 1.3, python 2.6, dev: через декілька платформ, prod: RHEL

2) Я хотів би дозволити персоналу сайту додавати користувачів(з сайту адміністратора). Те, як вони заповнюють лише на ОДНІЙ сторінці "ім'я користувача", "електронна пошта", "пароль1", пароль2 "І" ім'я_файла "," прізвище "," телефон "," скайп ". Клацніть" ОК "і все зроблено .

3) Я шукав документи та Інтернет тазнайшов лише досить застарілі джерела, непрацюючі ідеї та деякі джерела, які можуть працювати, але мають справу з зміною самого джанго (що мені було важко розгорнути та підтримувати)

Які ваші поради виконувати цю роботу найбільш чисто (легкий, прозорий, простий будь-який) спосіб?

Поки що ця стаття та її коментарі були найкориснішим джерелом, яке я знайшов: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

Дякую

Відповіді:

2 для відповіді № 1

Я вважаю, що рекомендований спосіб зробити це через UserProfile:

#models.py
class MySiteProfile(models.Model):
user = models.ForeignKey(User, unique=True)
join_date = models.DateField()
# and whatever additional fields you want

#admin.py
from django.contrib.auth.admin import UserAdmin

admin.site.unregister(User)

class MyUserAdmin(UserAdmin):
inlines = [MySiteProfileInline, ]

admin.site.register(User, MyUserAdmin)


#inlines.py
class MySiteProfileInline(admin.TabularInline):
model = MySiteProfile