Django-Docker - Django Installation Guide on Docker

Related tags

DjangoDjango-Docker
Overview

Guía de instalación del Framework Django en Docker

Introducción:

Con esta guía podrán instalar y trabajar con Django en Docker a través de Python

Conceptos básicos:

Docker: es una herramienta de código abierto diseñada para desarrollar y encapsular diversas aplicaciones, Docker tiene la facultad de separar tu proyecto funcional de tu computador, lo que se llama container el cual posee su propio sistema operativo y todas las configuraciones básicas para trabajar de forma correcta, finalmente gracias a esto se pueden desarrollar aplicaciones sin problemas de compatibilidad ya que este container funcionaria en cualquier computador.

Django: es un entorno de trabajo de alto nivel enfocado al desarrollo web integrado usando Python como su lenguaje principal, es un entorno robusto con la capacidad de hacer proyectos complejos y profesionales.

Instalación Docker:

En Windows 10:

Primero que todo debemos de instalar un backend de Ubuntu pues Docker corre nativamente en Linux para ello debemos de comenzar con instalar WSL2 encargado de correr este backend

Primero abrimos el Cmd o powerhsell con privilegios de administrador :

powershell

Luego nos saldrá una ventana como esta:

cmd

Paso 2

En ella escribimos :

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart en el PowerShell

Paso 3

Se comenzará a ejecutar el comando que tomará algunos minutos en donde instalará el WSL luego de esto seguimos con el siguiente comando:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Este comando se encargará de activar la máquina virtual previamente instalada, hecho esto

Debemos de reiniciar el computador después de este paso

Paso 4

Debemos de descargar la actualización del Kernel de Linux del siguiente enlace:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Paso 5

Abrimos de nuevo el PowerShell como administrador y ejecutamos:

wsl --set-default-version 2

Paso 6

Instalamos la distribución de Linux que mas nos guste en este caso la más recomendada es Ubuntu:

https://aka.ms/wslstore

El enlace anterior te abrirá el Microsoft Marketplace, donde allí encontrarás diferentes distribuciones de Linux.

marketplace

Hacemos Clic en obtener

obtener

La primera vez que abres la aplicación te pedirá crear un nombre de usuario y contraseña.

cmd

¡Felicitaciones ya tienes instalado Linux en Windows 10!

Paso 6

Hechos todos los pasos anteriores ahora si comenzamos con Docker, para ello abrimos el siguiente enlace:

Install Docker Desktop on Windows | Docker Documentation

Docker

Nos centramos en esta vista y hacemos clic a Docker Dektop for Windows se comenzará a descargar un archivo ejecutable.

installer

Es importante aclarar que esta aplicación pide como requisitos:

requisitos

Después de la instalación abrimos la aplicación de Docker:

docker

Una vez ejecutada la aplicación aparecerá en la barra de tareas este icono.

barra

Que indica que el Docker está activado y ejecutando

Finalmente tenemos la aplicación lista para trabajar en ella

app

Creación del Docker que contendrá al Framework Django:

Inicialmente debemos de crear una carpeta de trabajo, puede tener cualquier nombre siempre y cuando sea sin caracteres especiales y sin espacios:

Los comandos para usar son mkdir nombrecarpeta, cd nombrecarpeta

cmd

Creamos un archivo requirements.txt en el cual pondremos a Django como uno de los packpages

Ya que será el que vamos a utilizar

requisitos

En el terminal que teníamos abierto anteriormente ejecutamos:

pip install -r requirements.txt

Una vez instalado Django en tu entorno de trabajo comenzamos por crear un proyecto de esta forma:

django-admin startproject Mipagina

Automáticamente te creará una carpeta con el nombre del proyecto

workspace

De esta forma, con el manage.py podrás controlar todo tu proyecto

A continuación, nos ubicamos dentro de la carpeta del proyecto:

cd Mipagina

Luego :

Python manage.py runserver

server

Abrimos el enlace que nos arroja el runserver:

http://127.0.0.1:8000/

¡Ya tenemos nuestro primer sitio!

Los pasos para seguir son crear las aplicaciones para añadirle vistas y hacerlo más funcional

Si embargo no lo consideramos en esta guía pues nos compete dockerizar el Django

Para ello creamos un archivo Dockerfile en nuestro entorno de desarrollo

En ella copiamos el siguiente código:

# Dockerfile

# The first instruction is what image we want to base our container on

# We Use an official Python runtime as a parent image

FROM python

# Allows docker to cache installed dependencies between builds

COPY requirements.txt requirements.txt

RUN pip install --no-cache-dir -r requirements.txt

# Mounts the application code to the image

COPY . code

WORKDIR /code

EXPOSE 8000

# runs the production server

ENTRYPOINT ["python", "Mipagina/manage.py"]

CMD ["runserver", "0.0.0.0:8000"]

dockerfile

Luego en la consola:

cd .. para regresar a la carpeta raíz que inicialmente creamos

con este comando creamos el Docker con el nombre Python-django-app y como parámetro de entrada . que indica que es en la misma carpeta donde estará el dockerfile

docker build -t python-django-app -f ./Dockerfile.txt .

luego de ejecutar este comando saldrá esto:

bash

Indicando que nuestro contenedor ha sido creado de forma exitosa

Con el comando:

docker run -it -p 8000:8000 python-django-app

Lanzamos el contenedor exponiéndolo en el puerto 8000

El nombre del contendor lo crea automáticamente ya que nosotros estamos especificando únicamente nuestro nombre de la imagen.

¡Con esto ya tenemos dockerizado nuestro proyecto de Django!

construido con 🛠️

Owner
Victor manuel torres
Victor manuel torres
Silk is a live profiling and inspection tool for the Django framework.

Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before presenting them in a user interface for further inspection:

Jazzband 3.7k Jan 02, 2023
Django REST Client API

Django REST Client API Client data provider API.

Ulysses Monteiro 1 Nov 08, 2021
Django's class-based generic views are awesome, let's have more of them.

Django Extra Views - The missing class-based generic views for Django Django-extra-views is a Django package which introduces additional class-based v

Andy Ingram 1.3k Jan 04, 2023
DCM is a set of tools that helps you to keep your data in your Django Models consistent.

Django Consistency Model DCM is a set of tools that helps you to keep your data in your Django Models consistent. Motivation You have a lot of legacy

Occipital 59 Dec 21, 2022
django-compat-lint

django_compat_lint -- check Django compatibility of your code Django's API stability policy is nice, but there are still things that change from one v

James Bennett 40 Sep 30, 2021
A reusable Django app that configures your project for deployment

django-simple-deploy This app gives you a management command that configures your project for an initial deployment. It targets Heroku at the moment,

Eric Matthes 205 Dec 26, 2022
The uncompromising Python code formatter

The Uncompromising Code Formatter “Any color you like.” Black is the uncompromising Python code formatter. By using it, you agree to cede control over

Python Software Foundation 30.7k Jan 03, 2023
A Django backed for PostgreSQL using Psycopg 3

A Django backend for PostgreSQL using Psycopg 2 The backend passes the entire Django test suite, but it needs a few modifications to Django and to i

Daniele Varrazzo 42 Dec 16, 2022
Automated image processing for Django. Currently v4.0

ImageKit is a Django app for processing images. Need a thumbnail? A black-and-white version of a user-uploaded image? ImageKit will make them for you.

Matthew Dapena-Tretter 2.1k Dec 17, 2022
Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

Jazzband 1.8k Jan 08, 2023
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Jan 02, 2023
Add a help desk or knowledge base to your Django project with only a few lines of boilerplate code.

This project is no longer maintained. If you are interested in taking over the project, email Zapier 487 Dec 06, 2022

Django Pickled Model

Django Pickled Model Django pickled model provides you a model with dynamic data types. a field can store any value in any type. You can store Integer

Amir 3 Sep 14, 2022
Basic Form Web Development using Python, Django and CSS

thebookrain Basic Form Web Development using Python, Django and CSS This is a basic project that contains two forms - borrow and donate. The form data

Ananya Dhulipala 1 Nov 27, 2021
Book search Django web project that uses requests python library and openlibrary API.

Book Search API Developer: Vladimir Vojtenko Book search Django web project that uses requests python library and openlibrary API. #requests #openlibr

1 Dec 08, 2021
REST API con Python, Django y MySQL (GET, POST, PUT, DELETE)

django_api_mysql REST API con Python, Django y MySQL (GET, POST, PUT, DELETE) REST API con Python, Django y MySQL (GET, POST, PUT, DELETE)

Andrew 1 Dec 28, 2021
Integarting Celery with Django to asynchronous tasks 📃

Integrating 🔗 Celery with Django via Redis server ,To-Do asynchronously 👀task without stopping the main-flow 📃 of Django-project . It increase your speed 🚀 and user experience 🤵 of website

Rushi Patel 4 Jul 15, 2022
PicoStyle - Advance market place website written in django

Advance market place website written in django :) Online fashion store for whole

AminAli Mazarian 26 Sep 10, 2022
Django Query Capture can check the query situation at a glance, notice slow queries, and notice where N+1 occurs.

django-query-capture Overview Django Query Capture can check the query situation at a glance, notice slow queries, and notice where N+1 occurs. Some r

GilYoung Song 80 Nov 22, 2022
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

Cookiecutter Django Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. Documentati

10.1k Jan 08, 2023