Django rozšiřitelné-profily je aplikace, Django, který poskytuje rozšiřitelnou profilu uživatele systému pro Django, který je určen pro zajištění jednoduchého uživatelského profilu model, který je rozšiřitelný.
Koncepce (a některé kód) je půjčil si od FeinCMS (https://github.com/matthiask/feincms) strana modelu.
Chcete-li použít modul profily přidat profily do svého INSTALLED_APPS.
Před tím, než se manage.py SyncDB, musíte přidat nějaké rozšíření profilu. Modul profily nic nepřináší do modelu uživatele ve výchozím nastavení.
rozšiřující profil modules
Rozšíření jsou způsob, jak přidat často používaných funkčnost modelu profilu. Rozšíření jsou standardní modulů Pythonu s metodou registr (), která se bude nazývat při registraci rozšíření. Metoda registr () přijímá profilu třídu sám a model správce třídy ProfileAdmin jako argumenty.
Rozšíření může být aktivován přidáním následujících do souboru models.py která budou zpracovávány stejně:
od profiles.models dovozu Profil
& Nbsp; & nbsp; & nbsp; Profile.register_extensions ("title", "obraz", "adresa", "profiles.modules.options.extensions.options")
V případě, že rozšíření vyžaduje své vlastní modely (jako je možností rozšíření), pak aplikace obsahuje také muset být přidány do vašeho INSTALLED_APPS modely.
Přidávání rozšíření
Chcete-li přidat rozšíření vytvořit python modul, který definuje funkci registru, která přijímá třídu profil a třídu ProfileAdmin jako argumenty a mění je podle potřeby.
Zde je rozšíření adresa (profily / rozšíření / address.py):
od django.db modelů dovozních
& Nbsp; & nbsp; & nbsp; od django.utils.translation dovozního ugettext_lazy jako _
& Nbsp; & nbsp; & nbsp; def registrovat (CLS, admin_cls):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("Adresa 1", models.CharField (MAX_LENGTH = 255, verbose_name = _ ("adresa"), null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("Adresa 2", models.CharField (MAX_LENGTH = 255, verbose_name = _ ("adresa 2 '), null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("město", models.CharField (MAX_LENGTH = 255, verbose_name = _ ("obec / město"), null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("region", models.CharField (MAX_LENGTH = 255, verbose_name = _ ("okres / stát / provincie"), null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("PSČ", models.CharField (MAX_LENGTH = 15, verbose_name = _ ("PSČ"), null = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("země", models.ForeignKey ("countries.Country ', null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cls.add_to_class ("telefon", models.CharField (MAX_LENGTH = 32, verbose_name = _ ("mobilní číslo"), null = True, prázdný = True))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pokud admin_cls:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.search_fields + = ['Adresa 1 "," Adresa 2 "," město "," region "," PSČ "]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.list_display_filter + = ['země',]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pokud admin_cls.fieldsets:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; admin_cls.fieldsets.append ((_ ("Address"), {
"Pole": ["Adresa 1", "Adresa 2", "město", "region", "PSČ", "země", "telefon"],
"třídy": ("kolaps",),
}))
, Přidat 'incuna.countries "na INSTALLED_APPS pro používání rozšíření adresy
Požadavky na :
- Python
- Django
Komentáře nebyl nalezen