Zdravím. Tak už vás asi štvu, že sem furt postuju nějaké nesmysly. Nebo je to dobře, oživit tuhle google grupu?
Kam umísťujete Django aplikace?
Nahňácáte jich 10 do rootu projektu (standardní Django bordýlek)
nebo na ně máte extra adresář, třeba apps/ nebo applications/ ?
Já jsem si zkusil udělat ten extra adresář, ale zdá se mi, že to opravdu není dobrý nápad, co myslíte?
Mám s tím furt potíže a nemůžu najít nikde žádný checklist, co by člověk měl mít uděláno, aby to běhalo.
Zatím jsem udělal toto:
- prázdný soubor apps/__init__.py
- INSTALLED_APPS: 'apps.friends', 'apps.events'
- AppConfig: name='apps.friends', label='friends'
- sys.path.append(str(BASE_DIR / 'apps'))
Potíž mám s importy mezi aplikacemi:
from ..friends.models import Friend : ImportError: attempted relative import beyond top-level package (to nepřekvapí)
from .friends.models import Friend : ModuleNotFoundError: No module named 'apps.events.friends'
RuntimeError: Model class friends.models.Finger doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
from apps.friends.models import Friend : RuntimeError: Model class events.models.EventType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. # EventType je první model v aplikaci events
Tak co, mám ještě něco zkoušet,
nebo mám radši hodně rychle pokorně vycouvat z tohoto laviniště?
Kromě toho asi je blbé mít někde v kódu apps. a apps/, kdyby člověk třeba časem usoudil, že tu aplikaci zbuilduje, že?
Zdravím, Mirek
Asi si sem přidám slogan:
Django: Daruji Ti problém.