J'essaye de déployer mon application Django en production sur un serveur partagé.Confusion sur le chemin Python dans le shell Python vs serveur FCGI: Pourquoi sont-ils différents?
Il semble que je vais avoir des problèmes avec le chemin Python parce que je reçois l'erreur du serveur: Aucun module nommé products.models
Cependant, quand je vais à la racine de l'application et de l'exécution le shell que les modules chargent très bien.
'>>> from products.models import Answer
'>>> import sys
'>>> sys.path
['/home/SecretUserAcct/django-projects/review_app', ...]
Le chemin ci-dessus pointe vers la racine de l'application Django.
Je suppose que c'est un problème avec le chemin Python, mais je ne suis pas sûr de ce qui ne va pas.
Voici le fichier fcgi: $ cat ~/public_html/django.fcgi
#!/usr/local/bin/python2.6
import sys
import os
# Insert PYTHONPATH values here, including the path to your application
#sys.path.insert(0, '<path_to_your_app_directory>')
sys.path.insert(0, '/home/SecretUserAcct/django-projects/')
# Provide the location of your application's settings file.
os.environ['DJANGO_SETTINGS_MODULE'] = 'review_app.settings'
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method = "threaded", daemonize = "false", maxchildren=3, minspare=0, maxspare=1)
Quelle compréhension que je manque ici?
Pouvez-vous également afficher la valeur de 'Answer .__ file__' dans le premier shell? –
>>> de products.models importer Réponse >>> Réponse .__ FILE__ retraçage (le plus récent appel dernier): Fichier "", ligne 1, dans AttributeError: objet type 'réponse' n'a pas d'attribut '__file__' –
BryanWheelock