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
The friendly PIL fork (Python Imaging Library)

Pillow Python Imaging Library (Fork) Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lund

Pillow 10.4k Jan 03, 2023
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

2.6k Dec 26, 2022
Show how the redis works with Python (Django).

Redis Leaderboard Python (Django) Show how the redis works with Python (Django). Try it out deploying on Heroku (See notes: How to run on Google Cloud

Tom Xu 4 Nov 16, 2021
Django API creation with signed requests utilizing forms for validation.

django-formapi Create JSON API:s with HMAC authentication and Django form-validation. Version compatibility See Travis-CI page for actual test results

5 Monkeys 34 Apr 04, 2022
Advanced school management system written in Django :)

Advanced school management system written in Django :) ⚙️ Config the project First you should make venv for this project. So in the main root of proje

AminAli Mazarian 72 Dec 05, 2022
Management commands to help backup and restore your project database and media files

Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari

687 Jan 04, 2023
TinyMCE integration for Django

django-tinymce django-tinymce is a Django application that contains a widget to render a form field as a TinyMCE editor. Quickstart Install django-tin

Jazzband 1.1k Dec 26, 2022
Analytics services for Django projects

django-analytical The django-analytical application integrates analytics services into a Django project. Using an analytics service with a Django proj

Jazzband 1.1k Dec 31, 2022
Django Girls Tutorial Workshop

Django Girls Tutorial Workshop A log of activities during the workshop. this is an H2 git remote add origin https://github.com/ahuimanu/django_girls_t

Jeffry Babb 1 Oct 27, 2021
File and Image Management Application for django

Django Filer django Filer is a file management application for django that makes handling of files and images a breeze. Contributing This is a an open

django CMS Association 1.6k Dec 28, 2022
This is a basic Todo Application API using Django Rest Framework

Todo Application This is a basic Todo Application API using Django Rest Framework. Todo Section - User can View his previously added todo items, creat

Atharva Parkhe 1 Aug 09, 2022
Probably the best abstract model / admin for your tree based stuff.

django-treenode Probably the best abstract model / admin for your tree based stuff. Features Fast - get ancestors, children, descendants, parent, root

Fabio Caccamo 360 Jan 05, 2023
📝 Sticky Notes in Django admin

django-admin-sticky-notes Share notes between superusers. Installation Install via pip: pip install django_admin_sticky_notes Put django_admin_sticky_

Dariusz Choruży 7 Oct 06, 2021
A Django web application to receive, virus check and validate transfers of digital archival records, and allow archivists to appraise and accession those records.

Aurora Aurora is a Django web application that can receive, virus check and validate transfers of digital archival records, and allows archivists to a

Rockefeller Archive Center 20 Aug 30, 2022
open source online judge based on Vue, Django and Docker

An onlinejudge system based on Python and Vue

Qingdao University(青岛大学) 5.2k Jan 09, 2023
Opinionated boilerplate for starting a Django project together with React front-end library and TailwindCSS CSS framework.

Opinionated boilerplate for starting a Django project together with React front-end library and TailwindCSS CSS framework.

João Vítor Carli 10 Jan 08, 2023
Modular search for Django

Haystack author: Daniel Lindsley date: 2013/07/28 Haystack provides modular search for Django. It features a unified, familiar API that allows you to

Daniel Lindsley 4 Dec 23, 2022
This is django-import-export module that exports data into many formats

django-import-export This is django-import-export module which exports data into many formats, you can implement this in your admin panel. - Dehydrat

Shivam Rohilla 3 Jun 03, 2021
Send push notifications to mobile devices through GCM or APNS in Django.

django-push-notifications A minimal Django app that implements Device models that can send messages through APNS, FCM/GCM and WNS. The app implements

Jazzband 2k Dec 26, 2022
wagtail_tenants is a Django/Wagtail app to provide multitenancy to your wagtail project.

wagtail-tenants wagtail_tenants is a Django/Wagtail app to provide multitenancy to your wagtail project. You are able to run a main Wagtail Site and f

<bbr> 11 Nov 20, 2022