1. Hem
  2. Utvecklarverktyg
  3. Hur kommer jag igång med Django för Python?

Hur kommer jag igång med Django för Python?

Django är ett ramverk för utveckling av webbaserade applikationer och hemsidor i Python. Det är öppen källkod och har som mål att underlätta, snabba upp och göra webbutvecklingen säkrare. Oderland stödjer körning av Python-applikationer på alla webbhotellspaket och därför går även Django att köra på vårt webbhotell.

Denna guide utgår från att vi börjar med ett tomt webbhotellskonto och att vi väljer att köra Django direkt på / på vår domän. Om du redan har filer på ditt webbhotell eller redan kör andra hemsidor på det behöver detta tas i beaktning om du följer guiden. Vissa anpassningar behöver då göras.

För sätta upp ett nytt Django-projekt hos Oderland börja med att skapa en ny Python-applikation i cPanel enligt instruktionerna i följande guide.

För att underlätta felsökning och uppsättning rekommenderar vi att aktivera felsökningsläge för applikationen. Instruktioner för detta återfinns i Hur felsöker jag fel i min Node.js, Python eller Ruby applikation?

I denna guide används Python 2.7, samma förfarande går att använda för att köra Django med Python 3.x.

Gör följande val i uppsättningen:

  • Python version till Python 2.7 (Django stödjer även Python 3).
  • App Directory sätter vi till djangotest (djangotest blir även vårt projektnamn framöver i guiden)
  • App Domain/URI sätter vi till / för att köra direkt på domänen.

Tryck sedan på Setup.

När uppsättningen är klar skall vi börja med att installera Django som en Python-modul. Under raden som heter modules klicka på show och skriv sedan in Django och klicka på Django i dropdown-listan. Får du fråga om version kontrollera då med Djangos hemsida och välj senaste stabila versionen. Klicka på Add och därefter på knappen Update längst ner på sidan.

Detta installerar då Django på servern (i ett separat virtualenv) samt startar om applikationen. När allt är klart bör du se aktuell version av Django under modules.

Om du besöker din domän och den URL du valde bör du mötas av något i stil med

It works!
Python 2.7.11

Django är alltså ännu inte aktiverat. Detta beror på att det ännu inte finns något Django-projekt på servern.

För att starta ett Django-projekt behöver vi först SSH:a in till din server. Väl inloggad på maskinen behöver vi först aktivera vår virtualenv (virituella Python-miljö) för att få tillgång till Djangos verktyg. Dessa finns tillgängliga eftersom vi tidigare installerade modulen Django genom cPanel.

Börja med att aktivera projektets virtualenv genom att kopiera och köra det kommando som står i fältet Command for entering to virtual environment.

source /home/CPANELANVÄNDARNAMN/virtualenv/PROJECT/2.7/bin/activate

När detta är gjort skall vi ställa oss i katalogen för vårt Django-projekt och sedan starta ett nytt projekt. Detta ger dig de filer som behövs för att komma igång med Django.

cd ~/djangotest
django-admin startproject djangotest .

Du har nu allt som behövs för att komma igång med Django, nästa steg är att skapa en databas och en admin-användare genom att köra

./manage.py migrate
./manage.py createsuperuser

Nu har vi Django installerat, vi har en databas (sqlite) samt en admin-användare uppsatt. Vi behöver nu göra inställningarna i cPanel så att Django faktiskt svarar på anrop till domänen. Gå till Setup Python App i cPanel och sedan klickar du på edit-länken vid WSGI file location för din applikation. Vi behöver här fylla i sökväg och applikationsnamn till Djangos wsgi.py-fil som genererades när det nya Django-projektet skapades. I vår test-applikation fyller vi i följande.

djangotest/wsgi.py:application

Det du ska ange som WSGI file location är alltså en relativ sökväg, om du undrar var filen faktiskt finns i ditt webbhotellkonto så är den absoluta sökvägen ”/home/cpanelanvändarnamn/djangotest/djangotest/wsgi.py”.

Sökvägen kommer behöva anpassas efter projektets namn om du använder något annat namn än djangotest, application är standardnamnet på Djangos WSGI-applikation. Klicka sedan på Save-länken vid WSGI file location och sedan på Update längst ner under din applikation.

Går vi in på vår domän möts vi nu av en sida som säger att Django fungerar och är igång

It worked!
Congratulations on your first Django-powered page.

Som en sista sak behöver vi göra några mindre justeringar för att även hantera statiska filer så som css, js etc. Editera filen settings.py som ligger i ~/djangotest/djangotest/settings.py. Här återfinns alla Djangos inställningar, men just nu ändrar vi endast dem för statiska filer. Editera settings.py så att slutet av filen innehåller följande

STATIC_URL = '/public/'
STATIC_ROOT = os.path.join(BASE_DIR, 'public')

När dessa inställningar är gjorda vet Django vilken URL som skall användas för statiska filer samt vilken katalog på servern som skall användas för insamling av statiska filer. Vi behöver nu samla ihop alla statiska filer genom att köra följande kommando från katalogen ~/djangotest.

./manage.py collectstatic

Gå sedan till katalogen public_html som återfinns i din hemmakatalog på webbhotellsservern. Här skapar vi en symlänk till public-katalogen för att möjliggöra hantering av statiska filer från mappen som vi tidigare sade till Django att använda.

ln -s ../djangotest/public .

Nu behöver vi bara starta om Python-applikationen genom cPanel. Klicka på knappen Restart längst ner under din applikation. Detta läser om Djangos inställningsfil och gör att våra ändringar slår igenom.

Om du nu går till din domän och lägger på /admin/ i URL:en möts du nu av Djangos admin-gänssnitt där du kan logga in med den användare du tidigare skapade.

Nu har vi en komplett Django-projekt igång med en admin-användare, en sqlite-databas samt inställningar gjorda för statiska filer. För att läsa mer om Django och hur utvecklingen görs rekommenderas Djangos dokumentation.

Tips

  • Har du ett existerande Django-projekt kan du gå tillväga på samma sätt som ovan med mindre justeringar beroende på projektets struktur.
  • pip finns installerat på servern. Det går därför bra att köra pip install MODUL för att installera ytterligare Python-moduler. Detta behöver göras efter att du aktiverat det virtualenv som skapas när du sätter upp en ny applikation.

Hjälpte den här guiden dig?

Relaterade guider

Behöver du mer hjälp?
Kan du inte hitta lösningen på ditt problem? Då kan du kontakta oss via e-post, chatt och telefon!
KONTAKTA OSS