web-dev-qa-db-fra.com

Python Django - que fait os.environ.setdefault ('Django_SETTINGS_MODULE', 'folder.settings'))?

Je prends un cours en ligne Django maintenant, et je ne comprends pas certains des codes de configuration. Mon instructeur dit que le code suivant est requis dans un python = code qui remplit ma base de données.

import os
os.environ.setdefault('Django_SETTINGS_MODULE', 'ProTwo.settings')

import Django
django.setup()

Je ne comprends pas du tout ce que font ces codes, sauf que le deuxième argument dans setdefault() fait référence au fichier settings.py de mon application.

Qu'est-ce que Django_SETTINGS_MODULE? Qu'est ce que ça fait? Pourquoi est-il passé sous forme d'argument dans setdefault()?

Et que fait Django.setup()? Qu'est-ce que ça change?

Veuillez comprendre que je suis à peu près un novice et que je ne comprends pas beaucoup de jargons.

10
Eric Kim

Dans certains cas, vous souhaiterez peut-être contourner le Django_SETTINGS_MODULE variable d'environnement. Par exemple, si vous utilisez le système de modèles seul, vous ne voudrez probablement pas avoir à configurer une variable d'environnement pointant vers un module de paramètres.

Dans ces cas, vous pouvez configurer manuellement les paramètres de Django.

https://docs.djangoproject.com/en/2.1/topics/settings/

1
Siva Prasad

L'appel de Django.setup () est requis pour "standalone" Django usage¶ Si vous utilisez des composants de Django "standalone" - par exemple, pour écrire un Python qui charge certains modèles Django et les rend, ou utilise l'ORM pour récupérer certaines données - il y a une étape supplémentaire dont vous aurez besoin en plus de la configuration) paramètres.

Après avoir défini Django_SETTINGS_MODULE ou appelé configure (), vous devrez appeler Django.setup () pour charger vos paramètres et remplir le registre d'applications de Django.

0
Siva Prasad