2011-01-10 6 views
0

J'ai essayé de créer une variable globale appelée temp dans web2py, mais apparemment la valeur de la variable ne change pas même si j'essaie de stocker l'entrée de l'utilisateur à temp. Il reste juste le même (temp = 0.0). Qu'est-ce qui ne va pas?Comment utiliser la variable globale dans web2py?

Voici le default.py: http://pastebin.com/dafZZjJx
Voici le index.html: pastebin.com/Lw21Gg15

est-il un autre moyen d'envoyer l'entrée d'utilisateur aux fonctions lors de la création d'images à la page HTML? J'ai utilisé la ligne suivante
image = URL (r = demande, f = 'nonhomog_plot')
pour faire l'image mais quelle est la syntaxe correcte, si je veux envoyer l'entrée de l'utilisateur à nonhomog_plot sans utiliser une variable globale ?

Répondre

2

Vous pouvez utiliser des globals dans web2py, mais ils ne sont pas persistants. Vous pouvez stocker temp dans la session si vous le souhaitez. (BTW, il n'y a pas besoin de déclarer une approche globale dans un contexte où vous lisez seulement elle.)

Vous pouvez également passer dans votre chaîne de requête d'URL:

image = URL('nonhomog_plot', vars=dict(nu=str(value)))

ou dans votre cas, puisque vous recevez nu vars déjà:

image = URL('nonhomog_plot', vars=request.vars)

ou pour inclure uniquement nu:

image = URL('nonhomog_plot', vars=dict(nu=request.vars.nu))

+0

Merci! Ce qui suit est comment je l'ai changé. (Je l'ai enlevé la variable temp depuis le début du programme.) def index(): form = ... image = Aucun image2 = Aucun si form.accepts (request.vars, session): session. flash = ... session.temp = float (request.vars.nu) response.flash = session.temp image = URL (r = requête, f = 'nonhomog_plot') image2 = ... forme elif .errors: response.flash = ... autre: response.flash = ... dict (formulaire = forme, image = image image2 = image2) def nonhomog_plot(): return nonhomog (session.temp) – user569474

0

Il n'y a pas de variables globales dans web2py. Vous pouvez utiliser cache.ram

+0

Merci! Probablement cela fonctionne aussi. – user569474

Questions connexes