Home > pylons > Pylons: AttributeError: ‘thread._local’ object has no attribute ‘mapper’

Pylons: AttributeError: ‘thread._local’ object has no attribute ‘mapper’

6 Ottobre 2011

Se come me stai studiando Pylons e stai seguendo il Pylons Book,
è probabile tu sia incappato in un errore durante l’utilizzo degli helpers.

AttributeError: 'thread._local' object has no attribute 'mapper'

Questo errore è causato dal helper url_for che, utilizzando pylons 1.0, è
ad oggi deprecato. Al posto di url_for si utilizza url.

La soluzione all’esercizio è:
sostituire nel file lib.helpers l’importazione che fa riferimento all’helper url.
Invece di

from routes import url_for

utilizzare

from pylons import url

Ovviamente se l’importazione è stata utilizzata anche nei controllers, procedere
alla sostituzione anche lì.

Per quel che riguarda invece il template, sostituire tutti i richiami a

<p>Hello ${c.name}! You are visiting ${h.url_for()}</p>

con

<p>Hello ${c.name}! You are visiting ${h.url()}</p>.
Categorie:pylons Tag:
I commenti sono chiusi.