Niedawno opublikowałam instrukcję jak zainstalować aplikację Django na serwerze w MyDevil. Wszystko by było dobrze, gdyby nie to, że nie sprawdziłam jednej bardzo istotnej rzeczy. Obsługi plików statycznych, szczególnie w panelu administracyjnym aplikacji.
Otóż po wykonaniu mojej instrukcji nie działają ani pliki statyczne aplikacji ani PA. Powód jest prozaiczny. Na serwerze Django mamy wymuszoną jedyniesluszną konfiguracje plików statycznych, które muszą znajdować się w katalogu ‘public‘. W związku z tym trzeba wykonać jeszcze kilka ruchów, żeby wszystko działało jak należy.
Konfiguracja
W pliku settings.py należy uieścić nastepująca konfigurację:
STATIC_URL = '/static/' MEDIA_URL = '/media/' ENV_PATH = os.path.abspath(os.path.dirname(__file__)) STATIC_ROOT = os.path.join(ENV_PATH, '../public/static/') MEDIA_ROOT = os.path.join(ENV_PATH, '../public/media/')
W katalogu ‘public‘ tworzymy zadeklarowane powyżej katalogi ‘static‘ na skrypty js, css itp. oraz ‘media‘ na np uploadowane pliki.
Style Panelu Administracyjnego
Powyższa konfiguracja nie spowoduje automatycznie dodania stylów PA do naszej aplikacji. Pozostaną one niedostępne. Trzeba je skopiować z wirtualnego środowiska. Do tego służy komenda:
(nazwa_srodowiska) $ python manage.py collectstatic
Po jej uruchomieniu należy jedynie potwierdzić, że mamy świadomość, że pliki mogą zostać nadpisane. Po sekundzie wszystkie pliki statyczne PA są już na właściwym miejscu i cała aplikacja jest do końca skonfigurowana.
Moja nowa aplikacja
Kiedy uporałam się z konfiguracją testowej aplikacji na serwerze MyDevil, mogłam wreszcie opublikować aplikację nad którą pracowałam ostatnio ucząc się Pythona i Django. To jeszcze nic wielkiego, ale od czegoś trzeba zacząć