Je veux m'éloigner un peu de PHP et apprendre Python. Afin de faire du développement Web avec Python, j'ai besoin d'un cadre pour aider à la création de modèles et à d'autres choses.
J'ai un serveur hors production que j'utilise pour tester tous les éléments de développement Web. C'est une pile Debian 7.1 LAMP qui exécute MariaDB au lieu du paquet MySQL-server commun.
Hier, j'ai installé Django et créé mon premier projet appelé firstweb . Je n'ai encore modifié aucun paramètre.
Voici ma première grande confusion. Dans le tutoriel, j'ai suivi le gars installé Django, commencé son premier projet, redémarré Apache, et Django a juste travaillé à partir de là. Il est allé à son navigateur et est allé à la page par défaut de Django sans problème.
Moi cependant, je dois cd dans mon dossier firstweb et courir
python manage.py runserver myip:port
Et il fonctionne. Aucun problème. Mais je me demande si cela est censé fonctionner comme ça, et si cela posera des problèmes sur toute la ligne?
Ma deuxième question est que je veux le configurer pour qu'il utilise ma base de données MySQL. Je vais dans mon settings.py sous / firstweb / firstweb et je vois MOTEUR et NOM mais je ne sais pas quoi mettre ici.
Et puis dans les zones UTILISATEUR, MOT DE PASSE et HÔTE est-ce ma base de données et ses informations d'identification? Si j'utilise localhost, puis-je simplement placer localhost dans la zone HOST?
Réponses:
Le support MySQL est simple à ajouter. Dans votre
DATABASES
dictionnaire, vous aurez une entrée comme celle-ci:Vous avez également la possibilité d'utiliser les fichiers d'options MySQL , à partir de Django 1.7. Vous pouvez accomplir cela en définissant votre
DATABASES
tableau comme ceci:Vous devez également créer le
/path/to/my.cnf
fichier avec les paramètres similaires ci-dessusAvec cette nouvelle méthode de connexion dans Django 1.7, il est important de connaître l'ordre des connexions établies:
Si vous testez simplement votre application sur votre machine locale, vous pouvez utiliser
L'ajout de l'
ip:port
argument permet à des machines autres que la vôtre d'accéder à votre application de développement. Une fois que vous êtes prêt à déployer votre application, je vous recommande de jeter un œil au chapitre sur le déploiement de Django sur le djangobookLe jeu de caractères par défaut de Mysql n'est souvent pas utf-8, assurez-vous donc de créer votre base de données en utilisant ce sql:
Si vous utilisez le connecteur MySQL d'Oracle, votre
ENGINE
ligne devrait ressembler à ceci:Notez que vous devrez d'abord installer mysql sur votre OS.
De plus, le package client mysql a changé pour python 3 (
MySQL-Client
fonctionne uniquement pour python 2)la source
Pour la toute première, exécutez les commandes ci-dessous pour installer les dépendances python, sinon la commande python runserver générera une erreur.
Puis configurez le fichier settings.py comme défini par #Andy et à la dernière exécution:
S'amuser..!!
la source
Si vous utilisez python3.x, exécutez la commande ci-dessous
Puis changez setting.py comme
la source
Comme tout dit ci-dessus, vous pouvez facilement installer xampp d'abord à partir de https://www.apachefriends.org/download.html Ensuite, suivez les instructions comme:
http://localhost:80
et la base de données àport 3306
, et PhpMyadmin àhttp://localhost/phpmyadmin/
Modifiez votre
settings.py
fichier comme:Installez les packages suivants dans virtualenv (si vous utilisez django sur virtualenv, ce qui est plus préféré):
sudo apt-get install libmysqlclient-dev
pip installer MySQL-python
C'est tout!! vous avez configuré Django avec MySQL de manière très simple.
Maintenant, lancez votre projet Django:
python manage.py migrer
python manage.py runserver
la source
En fait, il existe de nombreux problèmes avec différents environnements, versions de python, etc. Vous devrez peut-être également installer des fichiers de développement python, donc pour `` forcer '' l'installation, je lancerais tout cela:
Vous devriez être prêt à accepter la réponse acceptée. Et peut supprimer les paquets inutiles si cela est important pour vous.
la source
Exécutez ces commandes
Ensuite, configurez settings.py comme
Profitez de la connexion mysql
la source
La réponse d'Andy aide mais si vous avez des inquiétudes quant à l'exposition de votre mot de passe de base de données dans votre paramètre django, je suggère de suivre la configuration officielle de django sur la connexion mysql: https://docs.djangoproject.com/en/1.7/ref/databases/
Cité ici comme:
Pour remplacer 'HOST': '127.0.0.1' dans le paramètre, ajoutez-le simplement dans my.cnf:
Une autre OPTION qui est utile, est de définir votre moteur de stockage pour django, vous pourriez le vouloir dans votre setting.py:
la source
settings.py
}
puis:
si le succès générera ces tableaux:
et vous pourrez utiliser mysql.
ceci est un exemple de vitrine, test sur Django version 1.11.5: Django-pool-showcase
la source
mysqlclient
sudo pip3 install mysqlclient
si vous obtenez une erreur:
puis:
Modifier settings.py
la source
Suivez les étapes indiquées pour le configurer pour utiliser la base de données MySQL:
la source
Vous devez d'abord créer une base de données MySQL. Ensuite, allez dans le
settings.py
fichier et modifiez le'DATABASES'
dictionnaire avec vos informations d'identification MySQL:Voici un guide d'installation complet pour configurer Django pour utiliser MySQL sur un virtualenv:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
la source