Django estensibile profili è un app Django che fornisce un sistema di profili utente estendibile per Django, progettato per fornire un semplice utente modello di profilo che è estensibile.
Il concetto (e un po 'di codice) è preso in prestito dal modello pagina FeinCMS (https://github.com/matthiask/feincms).
Per utilizzare il modulo profili aggiungere profili al vostro INSTALLED_APPS.
Prima di procedere con syncdb manage.py, è necessario aggiungere alcune estensioni profilo. Il modulo profili non aggiunge nulla al modello d'uso per impostazione predefinita.
Moduli estensione Profilo
Le estensioni sono un modo per aggiungere funzionalità spesso utilizzato il modello Profile. Le estensioni sono moduli Python standard con un metodo register () che saranno chiamati registrare l'estensione. Il metodo register () riceve la classe profilo stesso e la classe ProfileAdmin modello admin come argomenti.
Le estensioni possono essere attivate aggiungendo quanto segue in un file models.py che saranno trattati in ogni caso:
da profiles.models import profilo
& Nbsp; & nbsp; & nbsp; Profile.register_extensions (, 'foto' 'titolo', 'indirizzo', 'profiles.modules.options.extensions.options')
Se l'estensione richiede il proprio modello (come l'estensione opzioni) quindi l'applicazione che contiene i modelli saranno anche bisogno di essere aggiunto alla tua INSTALLED_APPS.
Aggiunta estensioni
Per aggiungere un'estensione creare un modulo python che definisce una funzione registro che accetta la classe profilo e la classe ProfileAdmin come argomenti e li modifica secondo necessità.
Ecco l'estensione indirizzo (profili / estensioni / address.py):
da modelli di importazione django.db
& Nbsp; & nbsp; & nbsp; da django.utils.translation import ugettext_lazy come _
& Nbsp; & nbsp; & nbsp; def registrati (cls, admin_cls):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('address1', models.CharField (max_length = 255, verbose_name = _ ('indirizzo'), null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('address2', models.CharField (max_length = 255, verbose_name = _ ('indirizzo 2'), null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('citta', models.CharField (max_length = 255, verbose_name = _ ('città / città'), null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('regione', models.CharField (max_length = 255, verbose_name = _ ('county / stato / provincia'), null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('Cap', models.CharField (max_length = 15, verbose_name = _ ('CAP'), null = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('paese', models.ForeignKey ('countries.Country', null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ('telefono', models.CharField (max_length = 32, verbose_name = _ ('numero mobile'), null = True, bianco = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; se admin_cls:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.search_fields + = ['address1', 'address2', 'città', 'regione', 'Cap']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.list_display_filter + = ['paese',]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; se admin_cls.fieldsets:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.fieldsets.append ((_ ('Address'), {
'Campi': ['address1', 'address2', 'città', 'regione', 'Cap', 'paese', 'telefono'],
'classi': ('collasso',),
}))
. Aggiungi 'incuna.countries' a INSTALLED_APPS per l'utilizzo di estensione indirizzo
Requisiti :
- Python
- Django
I commenti non trovato