Je veux essayer Mako avec Django au lieu du langage par défaut de Django. Mais je vais avoir un problème lorsque je tente d'importer la classe de Mako Template
comme écrit in the manual:Mako: impossible d'importer la classe Template. J'ai une erreur SyntaxError dans " mako template.py", ligne 622
from mako.template import Template
mytemplate = Template("hello world!")
print mytemplate.render()
Je le fais dans cmd Windows et reçois une telle erreur:
C:\Documents and Settings\User>cd C:\py\project\vendor\template\Mako_73 // cd to where I unpacked Mako
C:\py\project\vendor\template\Mako_73>python // run Python interpreter
>>> from mako.template import Template // trying to import and getting an error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File ".\mako\template.py", line 622
exec code in module.__dict__, module.__dict__
^
SyntaxError: invalid syntax
Le code de cette partie :
def _compile_text(template, text, filename):
identifier = template.module_id
source, lexer = _compile(template, text, filename,
generate_magic_comment=template.disable_unicode)
cid = identifier
if not util.py3k and isinstance(cid, unicode):
cid = cid.encode()
module = types.ModuleType(cid)
code = compile(source, cid, 'exec')
exec code in module.__dict__, module.__dict__
return (source, module)
Qu'est-ce que cela peut être? Je n'ai rien trouvé dans Google à propos de cette erreur. J'utilise Python 3.3. J'ai téléchargé Mako-0.7.3 comme fichier tar.gz et je l'ai juste décompressé dans C:\py\poject\vendor\template\Mako_73
. Je n'ai pas ce répertoire dans le PYTHONPATH ou paths.pth. C:\py\poject
est un répertoire où mon projet Django vit et en \vendor\template
j'ai décidé de mettre Mako et de l'importer à partir de là.
UPD
J'ai trouvé la solution. J'ai installé le Framework Pyramid et j'ai pris le Mako à partir de là car le Mako est un système de template par défaut. Et la version de Pyramid fonctionne bien.
Python 3 est relativement nouveau et, comme vous l'avez découvert, tous les paquets ne le supportent pas encore. Mais Mako 0.7.3 devrait fonctionner. Comment l'avez-vous installé? Le simple décompactage de l'archive ne suffit pas, vous devez utiliser python setup.py install (de préférence via un outil d'encapsulation tel que 'virtualenv' et' pip install'). –