Pylons „globaler Name 'C' ist nicht definiert.“
Frage
Ich hatte Pylons v0.9.7 eingerichtet und ein Projekt mit Genshi erstellt. Ich habe versucht, einen einfachen Testfall zu codieren, aber es funktioniert nicht.
Code: member.py
coding: utf-8
import logging import foo.model
from foo.lib.base import *
log = logging.getLogger(__name__)
class MemberController(BaseController):
def index(self):
c.title="title"
c.mes="message"
return render('test.html')
Code: test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:py="http://genshi.edgewall.org/"
lang="ja">
<head>
<title>${c.title}</title>
</head>
<body>
<p>${c.mes}</p>
</body>
</html>
und Fehlermeldung (auf Protokoll)
Error - <type 'exceptions.NameError'>: global name 'c' is not defined
Bitte helfen Sie mir, den Fehler zu finden.
Lösung
c.title="title"
Benötigt Namen c
definiert werden (global oder lokal). Sie definieren nie irgendetwas genannt c
.
Definieren Sie also einen geeigneten Namen c
(eine, bei der Attribut vorliegt title
kann gesetzt werden!) Bevor Sie etwas zuweisen c.title
!
Nächster Hinweis: from pylons import tmpl_context as c
- Du hast nicht tun das from ... import ... as
, Wusstest du?-)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow