• hallo,

    ich habe 3 files, 2 html und 1 python.

    die erste ID:Input

    und dann die python, ID:Calculated

    Code
    n = first + second
    return n

    zum letzt, ID:Result

    HTML
    <html> 
     <body> 
    
      <span tal:content="first:int"></span> +
      <span tal:content="second:int"></span> 
      Result:
     <span tal:content="python: here.Calculated(first,second)" ></span> [/b] </span> </body> </html>

    leider wenn ich ausfuhre bekomme ich diese error:
    Error Type: NameError
    Error Value: global name 'first' is not defined

    ich habe doch definiert first:int

    mfg,
    Stevchen

  • Thx Driver. :)

    stevchen99
    Ok, du hast also versucht mit Formularen zu experimentieren. Gut. Jedoch ist das nicht unbedingt so einfach wie man sich dies vielleicht denkt. Leider.

    Der Error wird nicht von Result verursacht sondern von deinem Python-Script. Leider hast du zu wenig Code hinterlegt, so dass ich nicht genau sagen kann was dein Problem ist.
    Bitte stelle den kompletten Inhalt der 3 Dateien seperat hier rein. Erst dann wird es möglich sein zu erkennen wo der Hase im Pfeffer liegt.

    Ich hab da zwar schon eine Vermutung, aber diese ist zu wage um sie so in's Blaue zu diskutieren.

    Ok, also poste den Code und dann finden wir den Fehler.
    Torty

    "Carpe Diem" powered by positiv Feelings

  • Ok. Wo liegen diese Files und von welchem Typ sind sie. Typ meint hier : PageTamplate, Script-Python usw.

    Deine ID-Info von oben sagt hierüber nichts aus.

    "Carpe Diem" powered by positiv Feelings

  • Also die korrekte Verwendung müsste so aussehen:
    [input] -> Controller Page Template (.cpt)
    [calculated] - > Controller Python Script (.cpy)
    [output] -> Controller Page Template (.cpt)

    das CPY hat bsp.weise solch einen Code-Anfang


    Innerhalb dieses CPY kann man die Felder des Formulares dann über das REQUEST-Objekt abfragen.

    Code
    ...
    form    = context.REQUEST.form
    first   = form.get('first')
    second  = form.get('second')
    ...

    Dazu kann man dan noch über REQUEST.state Fehlerwerte setzen oder Messages mit übergeben usw. Also schon eine etwas kompliziertere Geschichte. Ich empfehle dir deshalb es nicht per try+error zu versuchen, sondern dich mit der Thematik erstmal per Tutorial zu befassen.

    Dazu solltest du im dt. Zope-Buch oder in Plone Documentation etwas finden.

    Wie gesagt: erst lesen dann experimentieren, sonst wirds zu undurchsichtig...

    Torty

    "Carpe Diem" powered by positiv Feelings