/ / django registrácia: aký je aktuálny „kanonický“ spôsob rozšírenia „Contrib.auth.models.User“ - django, django-modely, django-admin, django-formy

registrácia django: aký je najnovší "kánonický" spôsob rozšírenia "contrib.auth.models.User" - django, django-modely, django-admin, django-formuláre

priestory:

1) Prostredie: django 1.3, python 2.6, dev: na viacerých platformách, prod: RHEL

2) Chcel by som umožniť pracovníkom lokality pridávať používateľov(zo stránky správcu). Spôsob, akým vyplnia iba jednu stránku „používateľské meno“, „e-mail“, „heslo1“, heslo2 „A„ meno_príjemku “,„ priezvisko “,„ telefón “,„ skype “. Kliknite na„ OK “a je hotovo ,

3) Hľadal som dokumenty a web anašiel iba dosť zastarané zdroje, nepracovné nápady a niektoré zdroje, ktoré by mohli fungovať, ale zaoberajú sa samotnou úpravou django (ktoré sa mi ťažko implementujú a udržiavajú)

Aké sú vaše tipy na vykonávanie tejto úlohy najčistejším (ľahkým, transparentným a jednoduchým spôsobom)?

Tento článok a jeho komentáre boli doteraz najužitočnejším zdrojom, ktorý som našiel: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

Vďaka

odpovede:

2 pre odpoveď č. 1

Verím, že odporúčaný spôsob, ako to dosiahnuť, je cez 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