Implementering Django til Heroku ved hjælp af en Windows-maskine (Produktionsserver IKKE udviklingsserver)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger en Windows-maskine og har et Django-projekt, som jeg med succes har implementeret til Heroku, omend ved hjælp af udviklingsserveren. For at bruge en produktionsserver synes Heroku at kræve 'Gunicorn', som ikke kører på Windows.


Dette er ikke godt for testning lokalt før implementering. Kender nogen af ​​nogen måde at komme rundt om dette? Måske en måde at bruge en anden server på Heroku?

Bedste reference


Jeg fandt en løsning, der kan hjælpe, når du distribuerer til heroku ved hjælp af en Windows-maskine. Her er hvad jeg gør:


Brug udviklingsserveren lokalt med:


python manage.py runserver


Installer og tilføj 'Gunicorn' til dine installerede apps i settings.py.


Tilføj en procesfil i rodmappen, der fortæller heroku at bruge Gunicorn-serveren. Dette er en fil kaldet 'Procfile' med følgende kode:


web: python kalail/manage.py run\_gunicorn --bind=0.0.0.0:$PORT


På denne måde tester du ved hjælp af udviklingsserveren, mens heroku bruger Gunicorn-serveren. Sørg for, at du konfigurerer visning af statiske filer (css/js/imgs) efter dette, fordi kun udviklingsserveren serverer automatisk statiske filer, og Gunicorn-serveren skal konfigureres til at gøre det.

Andre referencer 1


Du kan nemt køre udviklingsserveren lokalt:


> python manage.py runserver

Andre referencer 2


Alt du skal gøre er at angive stien til wsgi-script fra rodmappen:


$web: gunicorn hellodjango.wsgi