construccion - jjvillavicencio/historias-clinicas-iess-loja GitHub Wiki
Construcción de la Aplicación
Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como Modelo–vista–controlador.
Instalación de librerias
[Arriba]
-
Instalación Python:
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-setuptools
-
Instalar gestor de paquetes:
sudo easy_install pip
-
Instalar gestor de entornos virtuales
sudo pip install virtualenv
-
Instalar librerias para PostgreSql
sudo apt-get install postgresql-server-dev-9.5
sudo apt-get install postgresql postgresql-contrib
Configurar proyecto
[Arriba]
-
Crear una carpeta para el proyecto (
HistoriasClinicasProject
)mkdir HistoriasClinicasProject
-
Ingresamos a la carpeta
cd HistoriasClinicasProject
-
Creamos un entorno virtual (
historias
)virtualenv historias
-
Iniciamos el entorno virtual
source historias/bin/activate
-
Instalamos Django 1.8
pip install Django==1.8
-
Crear proyecto en Django (
HistoriasClinicas
)historias/bin/django-admin.py startproject HistoriasClinicas
-
Ingresamos a la carpeta del proyecto Django (
HistoriasClinicas
)cd HistoriasClinicas/
-
Instalar conectores para PostgreSql
pip install psycopg2
Configurar PostgreSql
-
Editamos el archivo
settings.py
que se encuentra en la carpetaHistoriasClinicas
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'historias_clinicas_iess', 'USER': 'academias', 'PASS': 'academias', } }
* Migrar Base de Datos
`python manage.py migrate`
* Crear super usuario
`python manage.py createsuperuser`
* Instalar shell interactivo Python
`pip install ipython`
* Obtener modelo de la Base de Datos
`python manage.py inspectdb > mimodelo.py`
* Cerar aplicación *`HistoriasClinicasApp`*
`python manage.py startapp HistoriasClinicasApp`
* Copiar modelo del archivo *`mimodelo.py`* al archivo *`models.py`*
* Añadir app *`HistoriasClinicasApp`* en el archivo *`settings.py`*
```py
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'HistoriasClinicasApp',
)
-
Hacer una migracion
python manage.py makemigrations HistoriasClinicasApp
python manage.py migrate
-
Compiar los siguientes modelos en el archivo
admin.py
:from HistoriasClinicasApp.models import * # Register your models here. admin.site.register(Pais) admin.site.register(Provincia) admin.site.register(Canton) admin.site.register(Parroquia) admin.site.register(TipoBeneficiario) admin.site.register(Contacto) admin.site.register(Paciente) admin.site.register(HistoriaClinica)
-
Iniciamos el servidor para probar nuestro proyecto:
phon manage.py runserver
Templates
Se va a configurar el uso de archivos html como templates para la presentación de los datos de nuestro proyecto en Django, la ventaja que nos facilitara el uso de templates será que no tendremos que repetir cierta estructura de la pagina que se repetirá varias veces.
Nota: Vamos a trabajar en el directorio HistoriasClinicasProject/HistoriasClinicas/
Ajustes generales
[Arriba]
-
Creamos una carpeta
templates
dentro de la carpetaHistoriasClinicasApp
:mkdir HistoriasClinicas/templates
-
Configurar la carpeta templates en el archivo
HistoriasClinicas/settings.py
Modificamo el campo
'DIRS':[]
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(os.path.dirname(__file__),'templates'),], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
Añadir Bootstrap
[Arriba]
-
Creamos una carpeta de nombre
static
:mkdir static
-
Añadimos al final del archivo
HistoriasClinicas/settings.py
:STATICFILES_DIRS=( os.path.join(BASE_DIR, 'static/'), )
-
Descargamos Bootstrap de su página y lo descomprimimos en la carpeta
/static
Añadir página home
[Arriba]
-
Creamos archivo
index.html
en la carpetaHistoriasClinicasApp/templates
, el contenido del archivo lo encontramos aquí -
Crear vista, en el archivo
/HistoriasClinicasApp/views.py
importamos lo siguiente:from django.shortcuts import render, render_to_response, RequestContext
-
En el mismo archivo definimos la vista para el index de la siguiente forma:
def index_view(request): return render_to_response('index.html', context=RequestContext(request))
-
Enlazamos las urls de la aplicación,en el archivo
/HistoriasClinicas/urls.py
en a sentenciaurlpatterns = []
añadimos:url(r'^', include('HistoriasClinicasApp.urls')),
-
En la carpeta
/HistoriasClinicasApp
creamos un archivo llamadourls.py
-
En el archivo creado añadimos lo siguiente:
from django.conf.urls import patterns, url urlpatterns = patterns('HistoriasClinicasApp.views', )
-
En el mismo archivo en la sentencia
urlpatterns = patterns('HistoriasClinicasApp.views',)
añadir lo siguiente:url(r'^$', 'index_view', name='index'),
-
Iniciamos el servidor para probar nuestro proyecto:
python manage.py runserver
-
Abrimos la aplicación en el navegador
http://127.0.0.1:8000/
[Arriba]