Giter Club home page Giter Club logo

django-basic's Introduction

DJANGO BASIC PROJECT

El siguiente proyecto se puede utilizar como plantilla base para crear cualquier proyecto con el framework de Django.

Configuración básica

Para utilizar este proyecto debemos de seguir los siguientes pasos.

1. Descargar el proyecto desde este mismo repositorio

git clone [email protected]:ServerJon/django-basic.git

O también puedes crear uno nuevo con la opción de Usa esta plantilla

2. Cambiar el nombre del proyecto

Cambiar cualquier referencia de django_basic o django-basic por el nombre de tu proyecto. Los ficheros a modificar son:

  • manage.py
  • Dockerfile
  • docker-compose.yml
  • Carpeta raíz django_basic
  • asgi.py
  • Carpeta settings (y cualquier fichero hijo de configuración: base, dev, prod, etc)
  • wsgi.py
  • docker-compose.yml
  • Dockerfile

TODO: Crea un script para hacer esto de forma automática

3. Crear un fichero secret.json

En la raíz de nuestro proyecto debemos crear un fichero secret.json y crear las variables de entorno para nuestro proyecto:

{
    "FILENAME": "secret.json",
    "SECRET_KEY": "django-insecure-05)jvx573+7yi3(c8_8zlpu^!=wf=4c=_kk3c+lh!6j@yv^43b",
    "DB_NAME": "basicdb",
    "USER_DB": "ServerJon",
    "PWD_DB": "serverjon"
}

Se recomienda modificar el SECRET_KEY para mayor seguridad.

3. Levantar el entorno de trabajo

El proyecto está configurado para trabajar con los contenedores de Docker:

docker-compose up

Una vez levantado el entorno podríamos trabajar dentro del mismo contenedor con toda la configuración instalada como por ejemplo con PyCharm o VSCode.

Si por el contrario queremos trabajar desde un entorno en local se recomienda utilizar un entorno virtual para poder trabajar. Se recomienda seguir los siguientes pasos:

  • Se recomienda utilizar un gestor de versiones de python como por ejemplo pyenv.
  • Comprobar que se tiene instalado python en una de sus últimas versiones, el proyecto trabaja con python3.
  • Crear un entorno virtual de trabajo e instalar con pip los modulos del fichero requirements.txt y requirements-dev.txt.
  • En caso de usar un entorno virtual solamente será necesario levantar el docker de la base de datos de mysql.
  • Si en la instalación nos da un error el modulo de mysqlclient debemos instalar una serie de paquetes. En el siguiente tenemnos las diferentes opciones para Ubuntu, Mac o Windows: pip install mysqlclient error

4. Realizar las migraciones minimas

Como primer comando a ejecutar una vez levantado todo el entorno de trabajo será crear la base de datos a trabajar. Para ello se ejecutarán el siguiente comando:

python manage.py migrate

5. Crear un usuario super admin

Una vez tengamos el entorno de trabajo levantado y el servidor en marcha debemos crear un usuario super admin para poder acceder a la zona de administración de django. Para ello ejecutaremos el siguiente comando y rellenaremos los campos que nos pidan:

python manage.py createsuperuser

Si estamos trabajando con Docker debemos ejecutar el comando a través del contenedor web.

6. Configuración pre-commit

Para poder trabajar de forma optima con nuestro proyecto se utilizarán los módulos de pre-commit y black. Para utilizarlos tan solo es necesario instalar el fichero de requirements-dev.txt. Una vez instalados todos los paquetes necesarios ejecutaremos el siguiente comando y estará todo listo:

pre-commit install

Si no quisieramos que verificara nuestro código podremos añadir al comando de git commit el argumento de --no-verify:

git commit -m"mensaje" --no-verify

Configuración a tener en cuenta

  1. Cuando se crea una nueva aplicación desde el docker de django se crearán los permisos como usuario root por lo que deberemos de cambiarlos para poder trabajar con esos ficheros. El comando será:

    sudo chown -R $USER:$USER .

  2. Eliminar repositorio para enlazar con el que queramos:

    git remote remove origin

    git remote add origin your_git_project

  3. Se recomienda utilizar Docker secrets para guardar información sensible como los datos de la base de datos del fichero docker-compose.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.