Instalación de Django Rest Framework en Openshift
En primer lugar decir qué es Openshift:
«OpenShift es un producto de computación en la nube de plataforma como servicio de Red Hat.
Este software funciona como un servicio que es de código abierto bajo el nombre de «OpenShift Origin», y está disponible en GitHub.
Los desarrolladores pueden usar Git para desplegar sus aplicaciones Web en los diferentes lenguajes de la plataforma.
OpenShift también soporta programas binarios que sean aplicaciones Web, con tal de que se puedan ejecutar en RHEL Linux. Esto permite el uso de lenguajes arbitrarios y frameworks.
OpenShift se encarga de mantener los servicios subyacentes a la aplicación y la escalabilidad de la aplicación como se necesite.» wikipedia
A continuación, se exponen los pasos a seguir para utilizar Django Rest Framework en Openshift
1/ Instalar las OpenShift Client Tools (rhc).
Algún comando de interes que podrá ser útil en el futuro:
– Para configurarlo se debe ejecutar: rhc setup. Nos pedirá login y password de openshift y nos permite crear una clave pública para luego conectar por ssh.
– Conectar ssh a tu aplicación: rhc ssh < app-name>
– Una vez conectado podríamos reiniciar la aplicación con: ctl_app restart
– Hacer log de la aplicación: rhc tail -a < app-name>
2/ Crear una aplicación Django que corra con python 2.7. Una de las formas de hacerlo es mediante el comando:
rhc create-app < app-name> python-2.7 --from-code git://github.com/rancavil/django-openshift-quickstart.git
Si todo va correctamente en la consola te saldrá algo similar a esto:
URL: http://< app-name>–< usuario-openshift>.rhcloud.com/
SSH to: abcabcabcabcabcabc@< app-name>–< usuario-openshift>.rhcloud.com
Git remote: ssh://547b176b5973ca04c6000139@< app-name>–< usuario-openshift>.rhcloud.com/~/git/< app-name>.git/
Cloned to: C:/prueba/< app-name>
< app-name> = nombre deseado para tu aplicación.
< usuario-openshift> = tu usuario en openshift
Como nota decir, que me ha creado una copia de la aplicación creada en C:/prueba/
3/ Instalar un cliente GIT. En mi caso, para windows utilicé Git Bash. Luego los cambios se subirán así:
git add . git commit -m 'My changes' git push
4/ Cambiar la contraseña de django
source $OPENSHIFT_GEAR_DIR/virtenv/bin/activate export PYTHON_EGG_CACHE=$OPENSHIFT_GEAR_DIR/virtenv/lib/python-2.6 python $OPENSHIFT_REPO_DIR/wsgi/openshift/manage.py changepassword admin
Tras este punto ya podríamos conectarnos a la consola de administración de django mediante la url:
http://< app-name>–< usuario-openshift>.rhcloud.com/admin
5/ Añadir Django Rest framework. Para ello nos conectamos con rhc ssh < app-name> y ejecutamos:
pip install djangorestframework
6/ Tras eso ya podremos utilizar Django Rest Framework. Ejemplo de uso:
Añadir en settings.py
INSTALLED_APPS = ( ... 'rest_framework', ) REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAdminUser' ] }
Cambiar nuestro urls.py por:
from django.conf.urls import patterns, include, url from django.contrib.auth.models import User from rest_framework import serializers, viewsets, routers # Serializers define the API representation. class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ('url', 'username', 'email', 'is_staff') # ViewSets define the view behavior. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer # Routers provide a way of automatically determining the URL conf. router = routers.DefaultRouter() router.register(r'users', UserViewSet) from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: url(r'^$', 'views.home', name='home'), url(r'^admin/', include(admin.site.urls)), url(r'^rest/', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), )
7/ Subir los cambios por Git y para comprobar que ahora tenemos activa esta url:
http://< app-name>–< usuario-openshift>.rhcloud.com/rest
Categorias
- adobe (2)
- agile (1)
- Alfresco (1)
- Android (26)
- Angular (6)
- angularjs (10)
- apache (1)
- axis (2)
- Bases de datos (14)
- Bootstrap (1)
- C# (3)
- Cámara (1)
- chrome (3)
- Codeigniter (2)
- Control de Versiones (2)
- CSS (25)
- CVS (1)
- Django (9)
- Django Rest Framework (1)
- DNS (1)
- Docker (3)
- dominio (1)
- eclipse (5)
- Entity Framework (2)
- ETL (1)
- Firefox (6)
- flash (1)
- freecad (1)
- Git (12)
- GitHub (4)
- gpg (2)
- Groovy (1)
- Handlebars (1)
- hibernate (4)
- hosting (1)
- HTML (50)
- HTML 5 (26)
- Impresión 3D (9)
- Inkscape (1)
- IOS (2)
- ireports (3)
- Java (44)
- Javascript (55)
- JBoss (5)
- JPA (2)
- JQuery (20)
- Json (7)
- JSP (6)
- Keycloak (1)
- Lamp (1)
- LDAP (2)
- lean (1)
- linkedin (1)
- LINQ (1)
- linux (13)
- Livecycle (1)
- log (1)
- microcontroladores (1)
- MongoDB (4)
- MySQL (8)
- Node.js (5)
- OC4J (1)
- Openshift (2)
- Oracle (6)
- Patrones de Diseño (1)
- Photoshop (2)
- php (20)
- PostgreSQL (1)
- python (19)
- rabbitmq (1)
- Raspberry PI (13)
- Raspherry PI (5)
- React (6)
- seguridad (3)
- Selenium (3)
- Sencha Touch (1)
- Sin categoría (29)
- Spring (17)
- spring-boot (3)
- SQL (7)
- SQLServer (1)
- SSO (1)
- struts (2)
- SVN (1)
- Talend (1)
- Tomcat (6)
- unity (3)
- Visual Studio Code (2)
- vmware (5)
- Web Services (11)
- windows (18)
- wordpress (10)
- Xiaomi (1)
- xml (2)
Trabajos Realizados
- App Android – Autoka Fr
- App Android – Cartelera Cántabra
- App Android – Gramática y Vocabulario Ingles
- App Android – Hoja de Gastos
- App Android – Hotel Torre Cristina
- App Android – OcioEnjoy
- App Android – Visor CardBoard
- App Firefox – Managapp
- DiamanteBomba – DisasterCode
- Generador de Partes de Trabajo
- GitHub – Android Web Generator
- GitHub – Dynamic Angular Gallery
- GitHub – Dynamic React Gallery
- GitHub – Sotilizator
- GitHub – SpringAngularJS
- GitHub – Swiper Dynamic Angular Gallery
- HazParejas – DisasterCode
- RompeCabezas – DisasterCode
- Unity Game – English Couple
- Unity Game – Kill Wasp
- WordPress – El Buen Apicultor
- WordPress – El Cajón de los Retales
- WordPress – El Vestidito Azul
- WordPress – Feuchas
- WordPress – Fragua de Navajas Ponce
- WordPress – Humor a las Tres
- WordPress – Photo Places