Buscando artículos sobre "Django"
5-diciembre-2014
admin

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/. Esto es porque he ejecutado el create desde dentro del directorio 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

Fuente 1
Fuente 2

31-enero-2014
admin

Usar Mysql con Python para Windows

Para utilizar Mysql con Python basta con:

1 – Descargarse este módulo.

2 – Instalarla

 python setup.py install

3 – Configurar tú aplicación para usar mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'nombreBD',                  
        'USER': 'usuario',                   
        'PASSWORD': 'contraseña',            
        'HOST': '',               #La cadena vacia representa localhost. 
        'PORT': '',               #La cadena vacia representa el puerto por defecto (8000). 
    }
}

Nota: En este enlace te puedes descargar un ejecutable para windows que te instala el módulo con un simple doble click.

29-enero-2014
admin

Usar Bootstrap en tu Django admin app

Si quieres añadir Bootstrap a tu aplicación realizada con el administrador de Django es tan facil como:

1 – Descargarte esta aplicación.

2 – Instalarla

 pip install django-admin-bootstrapped

3 – Añadir ‘django_admin_bootstrapped’ a la lista de INSTALLED_APPS antes de ‘django.contrib.admin’

Más información

26-enero-2014
admin

Instalar panel de administración de Django y añadir nuevos modelos

En primer lugar se debe activar la interfaz de la administración ya que se trata de una funcionalidad opcional. Pasos para activarlo:

1 – Realizar los siguiente cambios en el fichero settings.py:
* Añadir ‘django.contrib.admin’ a la propiedad INSTALLED_APPS.
* Añadir también a la propiedad INSTALLED_APPS los paquetes: ‘django.contrib.auth’, ‘django.contrib.contenttypes’, y ‘django.contrib.sessions’.
* Añadir en MIDDLEWARE_CLASSES los valores ‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’, y ‘django.contrib.auth.middleware.AuthenticationMiddleware.

2 – Ejecutar python manage.py syncdb. Esto instalará las tablas de base de datos que utiliza el interfaz de administración. La primera vez que se ejecute syncdb con ‘django.contrib.auth’ en INSTALLED_APPS, te preguntará sobre la creación de un superusuario. Si no lo crea, tendrá que ejecutar python manage.py createsuperuser por separado para crear una cuenta de usuario administrador más adelante. Ya que esto es necesario para entrar a la administración.

3 – Agregue el sitio de administración a su URLconf en el fichero urls.py.

    from django.contrib import admin
    admin.autodiscover()

    urlpatterns = patterns(”,
    (r’^admin/’, include(admin.site.urls)),
    )

4 – Ahora ya puede ejecutar la administración de Django. Simplemente hay que ejecutar el servidor de desarrollo (python manage.py runserver) e ir a la url http://127.0.0.1:8000/admin/

A continuación, ya puede añadir modelos al sitio de administración y crear sobre ellos los CRUD automáticamente con una interfaz amigable. Para ello dentro de la aplicación que contiene el modelo se debe crear un fichero admin.py con el siguiente contenido:

    from django.contrib import admin
    from miaplicacion.models import modelocreado

    admin.site.register(modelocreado)

Una vez que haya hecho esto, en la página de inicio de administración se debe ver una sección de modelocreado. Es necesario reiniciar runserver para que los cambios tengan efecto.

22-enero-2014
admin

Error Django: “ImportError: No module named defaults”

Este error pasa por usar django.conf.urls.defaults a partir de la versión 1.6 de Django. Ya que ha sido deprecado.

Ahora lo correcto es usar django.conf.urls

20-enero-2014
admin

Actualizar la versión de Django

Para instalar una nueva versión de Django los pasos a seguir son:

1º – Desinstalar la versión instalada.
Para desinstalar django basta con borrar el directorio que hay en:
{carpeta de instalación de python}\Lib\site-packages

Si no sabes donde está se puede ejecutar la siguiente instrucción para buscarla:

python -c "import sys; sys.path = sys.path[1:]; 
                                    import django; print(django.__path__)"

2º – Instalar la nueva versión.

python setup.py install

18-enero-2014
admin

Error en Django: “ImportError: No module named setuptools”

Intentando instalar una libreria para usar Django (python setup.py install). Me daba el siguiente error:

ImportError: No module named ‘setuptools’
Buscando un poco de información:
Setuptools es una colección de programas para mejorar las herramientas de distribución de Python, que permiten crear y distribuir paquetes de Python, incluyendo dependencias para su instalación… Fuente

Por lo tanto bastaría con instalarlo: https://pypi.python.org/pypi/setuptools

Para mi caso no me hizo falta instalar la librería setuptools. En su lugar simplemente instalé la librería distribute. Está librería ya ha sido absorvida por setuptools por lo tanto lo correcto es la otra opción.

Descargar distribute aquí: http://python-distribute.org/distribute_setup.py
Para instalar: python distribute_setup.py

9-enero-2014
admin

Python, Django, Eclipse y PyDev

PyDev es un plugin que permite desarrollar en python mediante el eclipse. Por lo tanto, se puede utilizar para desarrollar con Django.

En la página oficial de PyDev hay manuales donde explican bastante bien su uso:
Manual PyDev

Crear proyecto Django

Nota: Destacar que es necesario tener instalado java 1.7 para que el plugin funcione.

10-noviembre-2013
admin

Usar una Raspberry PI como servidor Lamp, Django y MongoDB

Instalar SO
Descargar la imagen de Raspbian (Debian Wheezy) de la página oficial de la Raspberry pi
Se puede utilizar el programa Win32DiskImager para copiar la imagen a la tarjeta SD.
Nota: El programa win32diskimager, además, se puede usar luego para hacer una copia de seguridad completa.

Una vez se haya copiado todo, ponemos la tarjeta en la Raspberry y al enchufarla debería funcionar. Al iniciarse el usuario y contraseña por defecto suele ser: usuario: pi contraseña: raspberry

Una vez logueado, ejecutar:

sudo raspi-config

para proceder a expandir la partición del sistema. Esto es porque aunque tengas una tarjeta SD de más de 4 gb, la partición del sistema sólo va a ocupar 4 gb. Para solucionar esto hay que expandir dicha partición para tener la posibilidad de usar toda la memoria disponible.

Por último, proceder a actualizar todo:

sudo apt-get update
sudo apt-get upgrade

Montar partición USB
Primero se debe instalar ntfs-3g que es necesario para poder montar las particiones ntfs:
sudo apt-get install ntfs-3g

A continuación, ya podemos montar la partición de nuestra memoria usb.

mkdir /media/myusb
mount /dev/sda1/ /media/myusb

Si lo que se desea es que la partición se monte automáticamente al iniciar se debe añadir esta linea al fichero /etc/fstab.

/dev/sda1 /media/myusb ntfs-3g defaults,locale=es_ES.UTF8 0 0

Acceso SSH y FTP
Habilitar el acceso local por ssh.

sudo apt-get install avahi-utils
avahi-browse -tl _workstation._tcp

apt-get install ftpd 

Se puede configurar en el fichero /etc/ftpusers los usuarios a los que no se les deje acceder por ftp.

Python-MySQLDB

sudo apt-get install python-mysqldb

Servidor LAMP

sudo apt-get install apache2
sudo apt-get install mysql-server mysql-client
sudo apt-get install php5 libapache2-mod-php5 php5-mysql
sudo service apache2 restart

Tras instalarlo podemos instalar el PHPMyAdmin y configurar Apache.

sudo apt-get install phpmyadmin

Añadir en /etc/apache2/apache2.conf la línea

Include /etc/phpmyadmin/apache.conf
sudo service apache2 restart

Python Setup tools

sudo apt-get install python-setuptools

Django
En primer lugar instalar PIP, es la aplicación que usaremos para instalar django.

wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py
rm -rf get-pip.py

Luego, ya podemos instalar Django.

sudo pip install Django

Como ejemplo de prueba se puede hacer:

django-admin.py startproject prueba
python manage.py runserver 192.168.1.33:8888

(por defecto arrancaría el puerto 8000)

MongoDB

sudo apt-get install git-core build-essential scons libpcre++-dev xulrunner-dev libboost-dev libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev

git clone git://github.com/RickP/mongopi.git
cd mongopi
scons
sudo scons --prefix=/opt/mongo install

PATH=$PATH:/opt/mongo/bin/
$ export PATH

mongod

Enlaces de interes:
Guia Completa Raspberry PI en Español
Curso de Django (Instalación y primera aplicación)
Configuración No-IP en la Raspberry PI
Establecer IP fija en la Raspberry PI
Instalación de Owncloud para la Raspberry PI

Categorias

Linkedin