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

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

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
  1. settembre 11, 2014 alle 9:18 pm

    You actually make it seem so easy with your presentation but I find this matter to be actually something which I think I would never understand.

    It seems too complicated and very broad for me.
    I’m looking forward for your next post, I will try to get the hang of
    it!

  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: