Bases > Entrypoint

Créer un projet

Avec Docker

  1. Créer les fichiers Docker et requirements.txt à la racine du projet

    requirements.txt
    
       Django==3.2
       
    
    Dockerfile
    
       FROM python:3.11.4-slim-bullseye
    
       ENV PYTHONUNBUFFERED=1
    
       # install system dependencies
       RUN apt update \
         && apt install -y gettext wget \
         # cleanup apt cache
         && apt-get clean \
         && rm -rf /var/lib/apt/lists/*
    
       # install app dependencies
       ENV APPDIR='/srv'
       ENV DJANGODIR='/srv/www'
    
       WORKDIR $APPDIR
    
       RUN pip3 install --upgrade pip
       COPY requirements.txt ./requirements.txt
       RUN pip install -r requirements.txt
    
       # setup server dependencies
       WORKDIR $DJANGODIR
    
       EXPOSE 8000
       HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD curl --fail http://localhost:8000/healthcheck/api || exit 1
    
       CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
       
    
    docker-compose.yml
    
       version: '3'
    
       services:
         api:
           image: test_api
           build:
             context: .
             dockerfile: Dockerfile
           restart: unless-stopped
           ports:
             - "8000:8000"
           platform: linux/amd64
           volumes:
             - ./www:/srv/www:delegated
           healthcheck:
             disable: true
           tty: true
           command: >
             tail -f /dev/null
       
    
  2. Créer le répertoire www

     $ mkdir www
    
  3. Lancer le container

     $ docker-compose up
     [+] Running 2/0
      ⠿ Network test_default  Created                                                                                0.0s
      ⠿ Container test-api-1  Created                                                                                0.0s
     Attaching to test-api-1
    
  4. À l’intérieur du container, initialiser la structure du projet

     $ docker exec -it test-api-1 bash
     django-admin startproject core .
    
  5. Stopper le container (ctrl+c)

     $ docker-compose up
     [+] Running 2/0
      ⠿ Network test_default  Created                                                                                0.0s
      ⠿ Container test-api-1  Created                                                                                0.0s
     Attaching to test-api-1
     ^CGracefully stopping... (press Ctrl+C again to force)
     Aborting on container exit...
     [+] Running 1/1
      ⠿ Container test-api-1  Stopped                                                                               10.3s
     canceled
    
  6. Modifier le propriétaire du squelette crée

     $ sudo chown -R $USER: www
    
  7. Modifier le fichier docker-compose.yml et retirer ces deux lignes:

     tty: true
     command: >
       tail -f /dev/null
    
  8. Lancer le serveur de dev — c’est la commande par défaut définit dans le fichier Dockerfile:

     $ docker-compose up
    
  9. Aller sur http://localhost:8000

Sans Docker

  1. Pré-requis: python

     $ python --version
    
  2. Installer le package django

     $ mkdir test
     $ cd test
    
     $ python -m venv env
     $ source env/bin/activate
    
     $ pip install django
    
  3. Créer le squelette du projet avec la commande django-admin

     $ mkdir www
     $ cd www
     $ django-admin startproject core .
    
  4. Lancer le serveur de dev:

     $ python manage.py runserver
    
  5. Aller sur http://localhost:8000


Lancer le serveur

Commandes Django

Commande runserver


Configurations

Daemon

Lancer un serveur de Prod


Structure