Mohl bych požádat někoho o kontrolu, případně i o vysvětlení?
Jedna z dalších obtížných Django věcí *) je konfigurace aplikace.
Dejme tomu, že připojuji aplikaci aausers.
Řekl bych, že
- v INSTALLED_APPS můžu mít buď `aausers` nebo `aausers.apps.AAUsersConfig`,
- __init__.py aplikace bych měl mít: `default_app_config = 'aausers.apps.AAUsersConfig'` (a to možná nebude nutné od Dj 3.2?)
- v apps.py bych měl mít AAUsersConfig třídu nějak takto:
from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class AAUsersConfig(AppConfig):
name = 'aausers'
label = 'aausers'
verbose_name = _('Users')
Zdá se mi, že pak to docela uspokojivě funguje a moc se nenaráží v různých "na hraně" situacích.
Co třeba nevím je:
1) Co je ten `app_label` - pojem, který se rád vyskytuje v chybových hláškách - to je totéž jako `label`?
2) jaký je rozdíl mezi name=.. a label=..? Mohou se lišit? Kde se pak které používá?
3) mám pocit, že s tím souvisí i ta (pro mě záhadná) syntaxe include(), např. `include(('aausers.urls', 'aausers'), namespace='aausers')` - co z toho je `label` a co `name`? Nemůžu to v dokumentaci najít.
4) k čemu by aplikaci bylo, aby měla více Configů? Aby se dala zapnout do víc různých projektů a třeba aliasovat její jméno?
*) všimněte si, jak už jste mě naučili se vyjadřovat uctivě, až poníženě