سؤال

كان لدي إعدادات الإعداد V0.9.7، وإنشاء مشروع باستخدام Genshi. حاولت رمز حالة اختبار سهلة، لكنها لا تعمل.

الرمز: عضو

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')

الرمز: 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>

ورسالة الخطأ (عند السجل)

Error - <type 'exceptions.NameError'>: global name 'c' is not defined

الرجاء مساعدتي في العثور على الخطأ.

هل كانت مفيدة؟

المحلول

    c.title="title"

يتطلب الاسم c ليتم تعريفها (على الصعيد العالمي أو محليا). أنت لا تحدد أبدا اى شى اسم الشيئ c.

لذلك، حدد اسم مناسب c (واحد حيث السمة title يمكن ضبطه!) قبل تعيين أي شيء c.title!

التلميح التالي: from pylons import tmpl_context as c - أنت لم تفعل ذلك فعل الذي - التي from ... import ... as, ، هل أنت الآن؟ -)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top