Comprobamos que vamos a trabajar con una base de datos sqlite. Para ello tenemos que consultar el fichero settings.py. En este caso la base de datos se llama db.sqlite3.
```bash
(django)$ cd django_tutorial
(django)$ cat django_tutorial/settings.py | egrep -A 5 'DATABASES';
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
```
Para poder acceder desde la dirección www.roberto.gonzalonazareno.org, tenemos que modificar el fichero `django_tutorial/settings.py` y añadir la dirección a la lista de hosts permitidos de la siguiente manera:.
Y accedemos a la zona de administración, en este caso en la dirección [www.roberto.gonzalonazareno.org:8000/admin](www.roberto.gonzalonazareno.org:8000/admin) y añadimos dos preguntas con sus posibles respuestas.
![Zona de administración](https://i.imgur.com/DZW2zzb.png)
* Comprueba en el navegador que la aplicación está funcionando, accede a la url /polls.
![Página de votación1](https://i.imgur.com/Bq4Tpml.png)
![Página de votación2](https://i.imgur.com/DWNxLFr.png)
### Configuración del servidor web
En bravo, el servidor web apache2 ya está instalado y configurado para servir páginas web estáticas. Para servir páginas web dinámicas, tenemos que instalar el módulo wsgi.
```bash
sudo dnf install python3-mod_wsgi
```
Ahora, para que el entorno sea similar al de producción, movemos el proyecto y el entorno virtual a la ruta `/var/www/html/django_tutorial` y `/var/www/html/django` respectivamente.
```bash
sudo mv django_tutorial /var/www/html/
sudo mv django /var/www/html/
```
Creamos el contenido estático de la aplicación:
```bash
sudo python3 manage.py collectstatic
```
Editamos el fichero `/var/www/html/django_tutorial/django_tutorial/settings.py` y modificamos las siguientes líneas:
Ahora configuraremos el servidor apache para que sirva la aplicación django. Para ello, tenemos que crear un fichero de configuración en la ruta `/etc/httpd/sites-available/django.conf` con el siguiente contenido:
Instalamos el módulo que permite que python trabaje con mysql:
```bash
sudo apt install libmariadb-dev
pip install mysqlclient
```
Tras crear un usuario y la base de datos, configuramos la aplicación para trabajar con mysql, para ello modifica la configuración de la base de datos en el archivo `settings.py`:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',
'USER': 'djadmin',
'PASSWORD': 'djadmin',
'HOST': 'localhost',
'PORT': '',
}
}
```
Creamos la copia de seguridad de la aplicación en bravo:
Desactivamos el modo debug en el fichero `settings.py`:
```python
DEBUG = False
```
Finalmente accedemos a la página web en [python.admichin.es](https://python.admichin.es) y comprobamos que funciona correctamente.
![base](https://i.imgur.com/ULmiDVn.png)
![admin](https://i.imgur.com/c77oBhu.png)
![polls](https://i.imgur.com/TnfrXlx.png)
## Tarea 3: Modificación de nuestra aplicación
### En el entorno de desarrollo
Vamos a hacer las siguientes modificaciones:
* Modificamos el fichero `django_tutorial/polls/templates/polls/index.html` para que aparezca nuestro nombre.
* Modificamos la imagen de fondo que se ve la aplicación. Para hacerlo debemos modificar el fichero `django_tutorial/polls/static/polls/css/style.css` y cambiar la siguiente línea, estando la imagen en la carpeta `django_tutorial/polls/static/polls/images`:
```css
background: white url("images/gundam.jpg");
```
Ahora vamos a crear una nueva tabla en la base de datos para almacenar las categorías de las preguntas. Para ello sigue los siguientes pasos:
* Se Añade un nuevo modelo al fichero `django_tutorial/polls/models.py`: