Comment dois-je configurer mon DATABASE_URL?
Je travaille sur mon premier Heroku/Django app. Je veux juste être sûr que je suis à la définition de mon DATABASE_URL
et DATABASES
variables correctement. Voici mon code:
import dj_database_url
DATABASE_URL = 'postgresql:///my_app'
# Parse database configuration from $DATABASE_URL
DATABASES = {
'default': dj_database_url.config(default=DATABASE_URL)
}
Quand j'ai juste DATABASES['default'] = dj_database_url.config()
et j'essaie d'utiliser Django commandes comme run server
ou migrate
j'obtiens l'erreur suivante: NameError: name 'DATABASES' is not defined
. J'ai mis le DATABASE_URL
, puisque cela semble résoudre cette question (après j'ai créer le my_app
base de données).
Tout semble fonctionner très bien comme je le code et les tests, mais j'ai aussi vu une demi-douzaine de façons différentes de définir les variables de base de données sur internet. Si ce n'est pas correct, je voudrais corriger maintenant. La chose qui me confond, quand je pousse mon application sur Heroku, comment les données sont poussés sur le web, lorsque la base de données est /usr/local/var/postgres? Ou sera-ce de ne pas se produire? Suis-je juste trop confus/fatigué à ce point?
DATABASES['default'] = dj_database_url.config()
retourne NameError parce que les BASES de données de dictionnaire n'est pas présente. DATABASES = {}
DATABASES['default'] = dj_database_url.config()
devrait fonctionnerOriginalL'auteur James Kelleher | 2015-05-05
Vous devez vous connecter pour publier un commentaire.
C'est une simple question de logique. Vous ne pouvez pas définir la touche par défaut des BASES de données de dictionnaire avant de vous avez défini le dictionnaire lui-même.
Si oui ou non vous définissez la
default
paramètre àdj_database_url
à l'intérieur de l'appel ou d'un autreDATABASE_URL
variable n'est pas pertinent, d'autant que de ne pas même être utilisé sur Heroku, puisqu'il sera remplacé par des variables d'environnement.comment spécifier la base de données de test à l'aide de dj_database_url ?
OriginalL'auteur Daniel Roseman
Cela est documenté sur Heroku Devecenter
Si vous avez besoin d' Connexion de base de données de mise en commun ajouter ce bits. Plus de détails
DATABASES['default'] = dj_database_url.config()
et j'essaie d'utiliser Django commandes commerunserver
oumigrate
j'obtiens l'erreur suivante:NameError: name 'DATABASES' is not defined
. J'ai mis le DATABASE_URL, puisque cela semble résoudre ce problème.OriginalL'auteur moonstruck