2011-05-09 1 views
4

Récemment, j'utilise django et mod_wsgi sur Apache.500 erreur serveur internet error_log: TemplateSyntaxError: Pris ImportError lors du rendu: Aucun module nommé amis

Je suis suivez les étapes suivantes trouvés dans une page Web:

« Mon application/de/mnt/www, le nom de l'appelé monsite, apache et créé dans le répertoire des médias monsite, puis faire la suivant: »

créer apache_django_wsgi.conf fichier, comme suit:

Alias ​​/ site_media// mnt/www/mysite/media/

<Directory /mnt/www/mysite/media> 
Order allow, deny 
Options Indexes 
Allow from all 
IndexOptions FancyIndexing 
</ Directory> 

Alias ​​/ media// usr/local/lib/python2.5/site-packages/django/contrib/admin/media/

<Directory /usr/local/lib/python2.5/site-packages/django/contrib/admin/media> 
Order allow, deny 
Options Indexes 
Allow from all 
IndexOptions FancyIndexing 
</ Directory> 

WSGIScriptAlias ​​//mnt/www/mysite/apache/django.wsgi 

<Directory /mnt/www/mysite> 
Order deny, allow 
Allow from all 
</ Directory> 

<Directory /mnt/www/mysite/apache> 
Allow from all 
</ Directory> 

créer django.wsgi fichier, comme suit:

import os, sys 

# Calculate the path based on the location of the WSGI script. 

apache_configuration = os.path.dirname (__file__) 

project = os.path.dirname (apache_configuration) 

workspace = os.path.dirname (project) 

sys.path.append (workspace) 

os.environ ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 

os.environ ['PYTHON_EGG_CACHE'] = '/ tmp' 

import django.core.handlers.wsgi 

application = django.core.handlers.wsgi.WSGIHandler() 

print>> sys.stderr, sys.path 

J'ai suivi ces étapes mais quand je l'exécute sous Apache via un navigateur, j'obtiens une erreur 500 Internet Server. Ensuite, je vérifie la erro_log: il est dit: « TemplateSyntaxError: Pris ImportError lors du rendu: Aucun module nommé amis » (amis est le nom d'un de mon module)

Le chemin de mon site est/var/BigPrject/monsite

+0

sont les espaces dans Alias ​​/ site_media// mnt/www/monsite/médias/destiné? ou devrait-il être: Alias ​​/ site_media// mnt/www/mysite/media /? Même avec les autres chemins dans votre apache_django_wsgi.conf –

+0

il devrait être Alias ​​/ site_media// mnt/www/mysite/media/ – Newbie

Répondre

6

Tout me semble bien, sauf que le dossier du projet n'est pas dans le chemin python.

Vous pouvez le valider en accédant à la console et en essayant de import friends.

Je devine, vous pouvez résoudre ce problème, en vous cas, en ajoutant la ligne suivante à votre fichier wsgi:

sys.path.append (project) 
+0

désolé, je dois corriger cela. Friends est un fichier d'application dans mystie. Et je peux seulement importer des amis dans le shell python quand je suis dans le répertoire mysite. quand j'essaye de taper le code de mon fichier wsgi dans le shell python ligne par ligne. ça ne marche même pas pour la première ligne. Erreur de massage est: Traceback (dernier appel dernier): Fichier "", ligne 1, en NameError: nom __file__ n'est pas défini – Newbie

+0

Lakshman: merci beaucoup! Ça fonctionne maintenant. – Newbie

+0

Débutant, Bienvenue. :) –

Questions connexes