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:
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.
El primer paso es crear una aplicación Python dentro de cPanel que alojará el proyecto Django. Para hacer esto, siga estos pasos:
Después de crear la aplicación Python en cPanel, estará listo para realizar las siguientes tareas en la línea de comandos:
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:
ALLOWED_HOSTS = ['example.com']
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',
],
},
},
]
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:
python ~/myapp/manage.py createsuperuser
12_ Escribe el siguiente comando para recoger los archivos estáticos:
python ~/myapp/manage.py collectstatic
13_ En cPanel, reinicie la aplicación Python:
14_ Prueba el sitio de Django:
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.
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: