[go: up one dir, main page]

0% encontró este documento útil (0 votos)
17 vistas12 páginas

Guía de Proyecto Django en PyCharm

El documento proporciona una guía detallada sobre la estructura y configuración inicial de un proyecto Django utilizando PyCharm. Incluye instrucciones sobre la creación de carpetas, configuración de la base de datos, creación de aplicaciones, definición de modelos y migraciones, así como la gestión de archivos estáticos y URLs. También se mencionan bibliotecas adicionales y el uso del ORM de Django para interactuar con la base de datos.

Cargado por

isshin22
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas12 páginas

Guía de Proyecto Django en PyCharm

El documento proporciona una guía detallada sobre la estructura y configuración inicial de un proyecto Django utilizando PyCharm. Incluye instrucciones sobre la creación de carpetas, configuración de la base de datos, creación de aplicaciones, definición de modelos y migraciones, así como la gestión de archivos estáticos y URLs. También se mencionan bibliotecas adicionales y el uso del ORM de Django para interactuar con la base de datos.

Cargado por

isshin22
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

🐍

Django
Estructura base proyecto en Django con Pycharm 🐍
Carpetas base
Configuración inicial
Archivo - Requirements
Configuración de Base de datos
Crear App principal del proyecto
Modelos
Migrar el modelo a la base de datos
Modelo - ForeingKey
Modelo - ManyToMany
Esto es otro titulo
Librerias Adicionales 01
Pillow
ORM de Django
Panel de Administrador en Django
Urls en Django
Conjunto de URLS
Templates
Configurando archivos estáticos

🐍
Estructura base proyecto en Django con
Pycharm

Carpetas base

Django 1
Crear una carpeta con el nombre del proyecto que contendra dos directorios
"app" para el sistema y "env" para el entorno virtual.

Configuración inicial
Al momento de crear un nuevo proyecto crear un directorio principal "core",
destildar que Pycharm genere una app "core" solo se necesita el directorio
como contenedor, en el mismo crear un archivo "__init__.py" para que
Django lea los archivos python contenidos en "core"
La carpeta de configuración que contiene el "settings.py" (Configuracion
inicial del proyecto) se creara con el nombre donde se esta almacenando el
proyecto en este caso es "app" renombrar a "config", con el IDE Pycharm
se creara automaticamente una carpeta base para los templates.

Django 2
Luego de cambiar el nombre de la carpeta validar en el archivo settings que
ROOT_URLCONF tenga actualizado el nuevo nombre en caso contrario
actualizarlo a "config".

Django 3
Entrar en opciones file - settings - Languages & Frameworks - Django y
actualizar la ruta del settings con el nuevo nombre del directorio "config"

Archivo - Requirements
Es el archivo que contiene los nombres y versiones de los paquetes y
aplicaciones de terceros instaladas en el entorno virutal para el funcionamento
del proyecto.

Crear un directorio "requirements" en "app" y ejecutar en el terminal dentro de


la ruta el comando:

pip freeze > requirements.txt

Configuración de Base de datos


Crear dentro del directorio "config" un archivo con el nombre "base.py" con
esta configuración.

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__f

SQLITE = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

Django 4
}
}

POSTGRESQL = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db',
'USER': 'postgres',
'PASSWORD': '123',
'HOST': 'localhost',
'PORT': '5432'
}
}

Instalar en el entrono virtual el paquete "psycopg2" el mismo es un adaptador


PostgreSQL para el lenguaje de programación Python. Se puede instalar desde
el terminal con el entrono virtual activo o por el menu de opciones en Pycharm.

En el archivo "settings" reemplazar la informacion por defecto de # from pathlib


import Path por:

import os.path

y de:

BASE_DIR = Path(__file__).resolve().parent.parent

por :

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__f

en TEMPLATES cambiar el DIRS a

'DIRS': [os.path.join(BASE_DIR, 'templates')]

Django 5
Esta variable lo que permite es obtener la ruta del directorio del proyecto.

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__f

Terminado los ajustes , ejecutar el comando "migrate" desde la consola del


entorno virtual, para exportar las tablas por defecto del proyecto en Django a la
base de datos.

Crear App principal del proyecto


La app principal contiene los modelos realcionados a la logica del negocio del
proyecto a desarrollar. Desde el terminal con el entorno virtual activado
ejecutar dentro de la ruta /app/core$

python ../manage.py startapp sgs

Modelos
Los modelos son representaciones de las entidades en la base de datos, se
escribiran en el archivo "models.py"
con la funcion "def __str__(self):" se le indica al modelo que devuelva por
defecto un string con el valor del campo que le indiquemos.

from django.db import models

class ServerRole(models.Model):
func_serv_id = models.AutoField(primary_key=True)
func_serv_desc = models.CharField(max_length=100, null=Fal

def __str__(self):
return self.func_serv_desc

Django 6
Con la Clase "Meta" se define un nombre para la tabla en la base de datos, en
caso de no colocarla se creara con el nombre indicado en el modelo.

El atributo "verbose_name" de la clase sirve para definir el nombre que se


mostrara para la tabla al visualizarla desde el Administrador de Django.
Con "ordering" se indica el orden por defecto al listar el contenido de la tabla.

class Meta:
verbose_name = 'Función del Servidor'
verbose_name_plural = 'Función del Servidor'
db_table = 'funcionservidor'
ordering = ['func_serv_id']

Antes de realizar cualquier migracion de un nuevo modelo se debe indicar en el


settings.py INSTALLED_APPS, las aplicaciones creadas.

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Apps
'core.sgs'
]

Migrar el modelo a la base de datos


Primero ejecutar desde el terminal con el entorno virtual activo.

python manage.py makemigrations

Donde se validara la configuracion del nuevo modelo.

Django 7
Y luego ejecutar.

python manage.py migrate

Django 8
Modelo - ForeingKey
Para indicar al modelo una clave foranea es necesario indicar un nombre para
el mismo (que sea representativo del modelo que relaciona) usar la palabra
reservada ForeingKey y entreparentesis el nombre del modelo del que viene la
relación.

tipo_acceso = models.ForeignKey(TypeAccessServer, null=False,

Modelo - ManyToMany
Para indicar una relacion muchos a muchos es necesario indicar un nombre
para el mismo (que sea representativo del modelo que relaciona) usar la
palabra reservada ManyToManyField y entreparentesis el nombre del modelo
del que viene la relación. Una de las ventajas del FrameWork Django para este
tipo de relación es que al realizar la migración a la base de datos generara de
forma automatica la tabla adicional que servira de relación para los dos
modelos

categ = models.ManyToManyField(Type, on_delete=models.PROT

Esto es otro titulo

Librerias Adicionales 01
Pillow
Para el uso de imagenes en Django es necesaria la libreria "pillow", se instala a
traves de "pip" en el terminal o menu del interprete en el caso de PyCharm

ORM de Django
Mapeo de objeto relacional , es decir permite interactuar con muchas cosas de
la base de datos a manera de objetos.

Django 9
Panel de Administrador en Django

PENDIENTE POR SUBIR INFO

Urls en Django

Django funciona bajo el esquema :

Modelo —> (BASE DE DATOS)

Vistas —> (FUNCIONES)

Templates —> (PANTALLAS)

En primera instancia la configuración basica de url's se realiza en el archivo

urls.py

from django.contrib import admin


from django.urls import path
#El path se importa para tener la ruta absoluta
#donde esta alojada el proceso

urlpatterns = [
path('admin/', admin.site.urls),
path('prueba/', myfirstview)
]

En este ejemplo el archivo urls.py hace referencia a una vista basada en


funcion llamada "myfirstview"

from django.http import HttpResponse

Django 10
def myfirstview(request):
return HttpResponse('Hola esta es mi primera URL')

Conjunto de URLS
En el directorio de la app principal crear un archivo urls.py

from django.urls import path


from core.erp.views import myfirstview # Importar la vista de

urlpatterns = [
path('uno/', myfirstview)
path('dos/', myfirstview)
]

En este caso se ajustaría el archivo urls.py del directorio "config" , importando


el conjunto de urls con el atributo "include"

from django.contrib import admin


from django.urls import path, include
#El path se importa para tener la ruta absoluta
#donde esta alojada el proceso

urlpatterns = [
path('admin/', admin.site.urls),
path('prueba/', include('core.erp.urls'))
]

Templates

Configurando archivos estáticos

Django 11
Recomendado ——> Leer documentacion de static files en pagina de Django.

Managing static files (e.g. images, JavaScript, CSS) | Django documentation | Django
Websites generally need to serve additional files such as images, JavaScript, or CSS. In Django, we
refer to these files as "static files". Django provides django.contrib.staticfiles to help you manage
them. This page describes how you can serve these static files. Make sure that
https://docs.djangoproject.com/en/3.1/howto/static-files/

1. Asegúrese de que django.contrib.staticfiles esté incluido en


su INSTALLED_APPS .

2. En su archivo de configuración, defina STATIC_URL , por ejemplo:

STATIC_URL = '/static/'

Su proyecto probablemente también tendrá archivos estáticos que no están


vinculados a una aplicación en particular. Además de usar un static/ directorio
dentro de sus aplicaciones, puede definir una lista de directorios
( STATICFILES_DIRS ) en su archivo de configuración donde Django también
buscará archivos estáticos. Por ejemplo:

`STATICFILES_DIRS = [
BASE_DIR / "static",
'/var/www/static/',
]`

Django 12

También podría gustarte