Quiero alejarme un poco de PHP y aprender Python. Para hacer desarrollo web con Python, necesitaré un marco para ayudar con plantillas y otras cosas.
Tengo un servidor que no es de producción que utilizo para probar todas las cosas de desarrollo web. Es una pila de LAMP Debian 7.1 que ejecuta MariaDB en lugar del paquete común de servidor MySQL.
Ayer instalé Django y creé mi primer proyecto llamado firstweb . Todavía no he cambiado ninguna configuración.
Aquí está mi primer gran pedazo de confusión. En el tutorial seguí al tipo que instaló Django, comenzó su primer proyecto, reinició Apache y Django simplemente trabajó desde entonces. Fue a su navegador y fue a la página predeterminada de Django sin problemas.
Sin embargo, tengo que cd en mi carpeta firstweb y ejecutar
python manage.py runserver myip:port
Y funciona. No hay problema. Pero me pregunto si se supone que funciona así, y si esto causará problemas en el futuro.
Mi segunda pregunta es que quiero configurarlo para que use mi base de datos MySQL. Entro en settings.py bajo / firstweb / firstweb y veo MOTOR y NOMBRE, pero no estoy seguro de qué poner aquí.
Y luego, en las áreas de USUARIO, CONTRASEÑA y ANFITRIÓN, ¿es esta mi base de datos y sus credenciales? Si estoy usando localhost, ¿puedo poner localhost en el área HOST?
Respuestas:
El soporte de MySQL es simple de agregar. En su
DATABASES
diccionario, tendrá una entrada como esta:También tiene la opción de utilizar archivos de opciones MySQL , a partir de Django 1.7. Puede lograr esto configurando su
DATABASES
matriz de la siguiente manera:También debe crear el
/path/to/my.cnf
archivo con configuraciones similares desde arribaCon este nuevo método de conexión en Django 1.7, es importante saber el orden en que se establecen las conexiones:
Si solo está probando su aplicación en su máquina local, puede usar
Agregar el
ip:port
argumento permite que otras máquinas distintas a la suya accedan a su aplicación de desarrollo. Una vez que esté listo para implementar su aplicación, le recomiendo echar un vistazo al capítulo sobre Implementación de Django en el djangobookEl juego de caracteres predeterminado de Mysql a menudo no es utf-8, por lo tanto, asegúrese de crear su base de datos usando este sql:
Si está utilizando el conector MySQL de Oracle, su
ENGINE
línea debería verse así:Tenga en cuenta que primero deberá instalar mysql en su sistema operativo.
Además, el paquete del cliente mysql ha cambiado para python 3 (
MySQL-Client
funciona solo para python 2)fuente
Al principio, ejecute los siguientes comandos para instalar las dependencias de python; de lo contrario, el comando python runserver arrojará un error.
Luego configure el archivo settings.py como lo define #Andy y en la última ejecución:
Que te diviertas..!!
fuente
Si está utilizando python3.x, ejecute el siguiente comando
Luego cambie setting.py like
fuente
Como todo lo dicho anteriormente, puede instalar fácilmente xampp primero desde https://www.apachefriends.org/download.html Luego siga las instrucciones como:
http://localhost:80
base de datosport 3306
y PhpMyadmin enhttp://localhost/phpmyadmin/
Edite su
settings.py
archivo como:Instale los siguientes paquetes en virtualenv (si está utilizando django en virtualenv, que es más preferido):
sudo apt-get install libmysqlclient-dev
pip install MySQL-python
¡¡Eso es!! ha configurado Django con MySQL de una manera muy fácil.
Ahora ejecuta tu proyecto Django:
python manage.py migrate
Python manage.py runserver
fuente
En realidad, hay muchos problemas con diferentes entornos, versiones de Python, etc. Es posible que también necesite instalar archivos de desarrollo de Python, por lo que para 'fuerza bruta' la instalación ejecutaría todos estos:
Debe ser bueno para ir con la respuesta aceptada. Y puede eliminar los paquetes innecesarios si eso es importante para usted.
fuente
Ejecute estos comandos
Luego configure settings.py como
Disfruta de la conexión mysql
fuente
La respuesta de Andy ayuda, pero si le preocupa exponer la contraseña de su base de datos en su configuración de django, le sugiero que siga la configuración oficial de django en la conexión mysql: https://docs.djangoproject.com/en/1.7/ref/databases/
Citado aquí como:
Para reemplazar 'HOST': '127.0.0.1' en la configuración, simplemente agréguelo en my.cnf:
Otra OPCIÓN que es útil es configurar su motor de almacenamiento para django, es posible que lo desee en su setting.py:
fuente
settings.py
}
luego:
si el éxito generará estas tablas:
y podrás usar mysql.
Este es un ejemplo de escaparate, prueba en Django versión 1.11.5: Django-pool-showcase
fuente
mysqlclient
sudo pip3 install mysqlclient
si obtiene un error:
luego:
Modificar configuración.py
fuente
Siga los pasos dados para configurarlo para usar la base de datos MySQL:
fuente
Primero debe crear una base de datos MySQL. Luego, vaya al
settings.py
archivo y edite el'DATABASES'
diccionario con sus credenciales de MySQL:Aquí hay una guía de instalación completa para configurar Django para usar MySQL en un virtualenv:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
fuente