FAQ

Preguntas
Frecuentes

Consultá
tus inquietudes
Registrá tu Dominio
Categorías

Cómo instalar y configurar Django en una cuenta de hosting compartido de Linux

Django es un marco basado en Python que le permite crear rápida y fácilmente sitios web potentes. Este artículo muestra cómo instalar y configurar Django en una cuenta de alojamiento compartido de Linux que usa cPanel.

Después de completar los siguientes procedimientos, tendrá un sitio de Django en funcionamiento en su cuenta que:

  • Carga una página de inicio estática para el dominio.
  • Carga la interfaz de administración de Django.
  • Utiliza una base de datos SQLite.

Aunque hemos probado y ejecutado esta configuración de Django en cuentas de hosting compartido, no cuenta con soporte oficial.
Puede utilizar ésta configuración como punto de partida para sus propios proyectos de Django, pero desde el área de Soporte no podremos ayudarlo a solucionar problemas o depurar configuraciones personalizadas.

Tabla de contenido

  1. Paso 1: Crea una aplicación Python en cPanel
  2. Paso 2: Configurar el proyecto Django
  3. Más información
  4. Artículos relacionados

PASO 1: CREA UNA APLICACIÓN PYTHON EN CPANEL

El primer paso es crear una aplicación Python dentro de cPanel que alojará el proyecto Django. Para hacer esto, siga estos pasos:

  1. Inicia sesión en cPanel.
  2. En la sección SOFTWARE de la pantalla de inicio de cPanel, haga clic en «Setup Python APP«.
  3. En Setup new application , en el cuadro de lista Python version , seleccione 3.6 .
  4. En el cuadro de texto App Directory , escriba myapp .
  5. En el cuadro de lista App Domain / URI , seleccione el dominio que desea usar y luego deje el cuadro de texto URI vacío.
  6. Haga clic en Setup . cPanel crea la aplicación y configura el entorno Python.
  7. En Existing applications, donde dice Command for entering to virtual environment, copie el comando. Necesitará esta información en el siguiente paso.

PASO 2: CONFIGURAR EL PROYECTO DJANGO

Después de crear la aplicación Python en cPanel, estará listo para realizar las siguientes tareas en la línea de comandos:

    null
  • Instala Django.
  • Crea y configura el proyecto Django.
  • Configure Passenger para trabajar con el proyecto Django.

Para hacer esto, siga estos pasos:

1_ Inicie sesión en su cuenta utilizando SSH .

2_ Active el entorno virtual mediante el comando que anotó en el paso 7 anterior. Por ejemplo:

source /home/USERNAME/virtualenv/myapp/3.6/bin/activate

3_ Para instalar Django, escriba los siguientes comandos: 

cd ~
pip install django==2.1.8

Para verificar la versión de Django que está instalada, escribiendo el siguiente comando:

django-admin –version

4_ Para crear un proyecto Django, escriba el siguiente comando:

django-admin startproject myapp ~/myapp

5_ Para crear los directorios donde se almacenaran los archivos estáticos, escriba los siguientes comandos:

mkdir -p ~/myapp/templates/static_pages
mkdir ~/myapp/static_files
mkdir ~/myapp/static_media

6_ Use un editor de texto para abrir el archivo ~/myapp/myapp/settings.py , y luego realice los siguientes cambios:

  • Localice la línea ALLOWED_HOSTS y luego modifíquela de la siguiente manera. Reemplace example.com con su propio nombre de dominio
ALLOWED_HOSTS = ['example.com']
  • Localice el bloque de TEMPLATES , y luego modifíquelo de la siguiente manera:
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'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',
            ],
        },
    },
]
  • Localice la línea STATIC_URL y luego agregue las siguientes líneas debajo de ella:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "static_media")

7_ Utilice un editor de texto para abrir el archivo ~/myapp/myapp/urls.py. Elimine todo el texto existente y luego copie el siguiente texto en el archivo:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import url
from django.views.generic.base import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'), name='home'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

8_ Use un editor de texto para abrir el archivo ~/myapp/passenger_wsgi.py, y luego realice los siguientes cambios. Reemplace el USERNAME con su propio nombre de usuario de cuenta:

import myapp.wsgi
SCRIPT_NAME = '/home/USERNAME/myapp'

class PassengerPathInfoFix(object):
    """
    Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
    """
    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        from urllib.parse import unquote
        environ['SCRIPT_NAME'] = SCRIPT_NAME

        request_uri = unquote(environ['REQUEST_URI'])
        script_name = unquote(environ.get('SCRIPT_NAME', ''))
        offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
        environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
        return self.app(environ, start_response)

application = myapp.wsgi.application
application = PassengerPathInfoFix(application)

9_ Use un editor de texto para crear un archivo index.html básico en el directorio ~/myapp/templates/static_pages . El archivo puede ser tan simple como un archivo de texto que dice Hello world .

10_ Escriba el siguiente comando:

python ~/myapp/manage.py migrate

11_ Configurar la cuenta de superusuario:

  • Escriba el siguiente comando:
python ~/myapp/manage.py createsuperuser
  • Cuando se le solicite Username , escriba el nombre de usuario del administrador y luego presione Entrar.
  • En la solicitud de Email address , escriba la dirección de correo electrónico del administrador y luego presione Intro.
  • Cuando se le solicite Password , escriba la contraseña del administrador y luego presione Intro.

12_ Escribe el siguiente comando para recoger los archivos estáticos:

python ~/myapp/manage.py collectstatic

13_ En cPanel, reinicie la aplicación Python:

  • Inicia sesión en cPanel.
  • En la sección SOFTWARE de la pantalla de inicio de cPanel, haga clic en Configurar aplicación Python .
  • En Aplicaciones existentes , localice la aplicación correcta y luego haga clic en Reiniciar .

14_ Prueba el sitio de Django:

  • Usa tu navegador para ir a http: // www. example.com , donde example.com representa su nombre de dominio. El archivo index.html debería cargar.
  • Usa tu navegador para ir a http: // www. example.com / admin , donde example.com representa su nombre de dominio. Debería ver la página de inicio de sesión de administración de Django. Para iniciar sesión, use las credenciales de superusuario que creó anteriormente.

Si el sitio web no aparece en su navegador, intente ejecutar el archivo passenger_wsgi.py manualmente. Para hacer esto, escriba el siguiente comando:

python ~/myapp/passenger_wsgi.py

No debe haber salida de texto a la consola cuando ejecuta este archivo. Si hay algún error, verifique la sintaxis en los archivos de configuración.

MÁS INFORMACIÓN

Ahora que tiene un sitio web habilitado para Django en funcionamiento, puede comenzar el verdadero trabajo de desarrollo de sus propias aplicaciones. Los siguientes recursos pueden ayudar:

Hablá con nuestro equipo
¿Necesitas asesoramiento?
Hablá con nuestro equipo

0810-345-HOST(4678)

¡Hablemos Directo!</
¡Hablemos Directo!

20 años de Clientes

Felices y Satisfechos

EXCELENTEEEEEEEE!! servicios y atención que son para aplaudir! siempre disponibles y dedicados. Muchas gracias!

Commentario

Tuve un problema con el espacio en disco apenas subi mi página web y mis consultas fueron respondidas inmediatamente. Muy buena atención!

Commentario

Excelente y rápido asesoramiento en las soluciones a los inconvenientes que me surjen referentes a los servicios que me brindan!!! 100% recomendables!!

Commentario

Excelente atención, servicio y resultados. Muchas gracias!

Commentario

Excelente calidad y atención... Más que recomendables! Supieron ayudarme y asesorarme en todo y estuvieron siempre disponibles... Buenísimo que podamos contar con un servicio así en Bahía... Muchísimas gracias y ojalá mucha gente más se sume porque el servicio lo vale! EXCELENTE!

Commentario

Excelente nivel en el servicio, igual en la atencion...felicitaciones!!! desde www.mcdigitalmarketing.com.ar

Commentario

EXCELENTEEEEEEEE!! servicios y atención que son para aplaudir! siempre disponibles y dedicados. Muchas gracias!

Commentario

El mejor servicio!!!!

Commentario

MUY BUENA ATENCION,MARTIN DEL SOPORTE SIEMPRE DISPUESTO,HACE MUCHOS AÑOS SOY CLIENTE,SALUDOS.TODO CARTEL

Commentario

La verdad es que el servicio está a la altura de lo que se puede esperar de un hosting en Buenos Aires. Manejo las comunicaciones del Helados Jet, Restaurante Pizza Jet, Pronto Jet en Monte Hermoso y Cabañas La Felicidad en Sierra de la Ventana y estamos muy satisfechos.

Commentario

Excelente el servicio que dan la asistencia al cliente y todo el soporte de ayuda con el que cuentan. son los mejores de bahía. muchas gracias por todos. !!!

Commentario

Gran servicio, rápida respuesta y buena atención sigan así!

Commentario

Como siempre, excelente servicio y asesoramiento y muy buena predisposición para dar una mano!!!! 100% recomendables!!

Commentario

Tuve un problema con el espacio en disco apenas subi mi página web y mis consultas fueron respondidas inmediatamente. Muy buena atención!

Commentario

Como siempre, excelente servicio y asesoramiento y muy buena predisposición para dar una mano!!!! 100% recomendables!!

Commentario

Excelente el apoyo que me dieron con los tramites en nic.ar La calidad y calidez en la atención es de destacar!! Gracias Martín!!

Commentario

EXCELENTEEEEEEEE!! servicios y atención que son para aplaudir! siempre disponibles y dedicados. Muchas gracias!

Commentario

muy buen servicio de hosting, siempre al servicio del cliente la verdad que muy atentos!!!

Commentario

Excelente atención y asistencia al cliente. Soporte de 10!!! Me alegra contar con uds para mi empresa!!!

Commentario

Confiamos hace varios años en Hosting Bahia como proveedor tecnológico para dar soluciones de Hosting a nuestros clientes en Argentina. Gran calidad de servicio y tecnologia

Commentario

Excelente nivel en el servicio, igual en la atencion...felicitaciones!!! desde www.mcdigitalmarketing.com.ar

Commentario

Excelente servicio y muy buena atencion! Satisfecho 100%

Commentario

Me han brindado mucha confianza, ante algunos problemas rápidamente se propusieron a ayudarme brindándome un soporte excelente. Muy recomendable. Muchas gracias!

Commentario

Que puedo decir, hace años que trabajo con ellos y sin dudas son los mejores...RESPONSABILIDAD, CORDIALIDAD, SERIEDAD, PUNTUALIDAD son solo algunas cosas para destacar. Hoy en día eso no se consigue en ningún lado. 100% CONFIABLES y RECOMENDABLES!!! GRACIAS TOTALES

Commentario

Servicio de primera calidad. Rápido, preciso y confiable. Totalmente recomendable.

Commentario

Tuve un problema con el espacio en disco apenas subi mi página web y mis consultas fueron respondidas inmediatamente. Muy buena atención!

Commentario

El mejor servicio!!!!

Commentario

Excelente atención y servicio, incomparable.

Commentario

Impecable el servicio y la rapidez en solucionar nuestros problemas! Gracias por ayudarnos!!

Commentario

Tengo su servicio de hosting desde hace varios años y no lo cambiaría por nada; simplemente por la predisposición en ayudar e intentar solucionar cada problema presentado, mostrando velocidad y profesionalismo al mismo tiempo. Un servicio humano y técnico realmente inmejorable.

Commentario