Avatar billede moun Nybegynder
15. april 2009 - 14:12 Der er 5 kommentarer og
1 løsning

WebPython: Eksekvering af fil online

Hej allesammen.

Jeg har i længere tid siddet og både bikset og bakset med det her problem, så håber en af jer har en løsning der er nem og lige til :)

Problemet er dette:

Jeg skal lavet en logud knap.

Jeg har lavet et "mark" i html'en --> ?mark=logout som python opfanger med noget i denne stil:

if form,getValue == "logout":
      Controller.deleteCookie() <--- funktion der sletter cookien
      ?
Her er det så meningen at den skal åbne den .py fil som er forsiden --> index.py. Problemet er bare at den ikke gider og køre den fil. Umiddelbart prøvede jeg denne løsning:

if form,getValue == "logout":
      Controller.deleteCookie() <--- funktion der sletter cookien
      execfile

Men den virker desvære ikke.

Håber i kan hjælpe, for jeg syntes næsten jeg har prøvet alt :)

Alt godt fra Emil :)!
Avatar billede j4k0b Nybegynder
15. april 2009 - 15:00 #1
Hvilket framework benytter du? Kan du ikke importere 'index' og kalde en funktion derfra?

Ellers mangler du nogen argumenter til execfile()

http://docs.python.org/library/functions.html#execfile
Avatar billede moun Nybegynder
15. april 2009 - 15:46 #2
Hej

Jeg benytter ikke noget specifikt framework, bare basic python.

Hvis jeg skal importere min index og den ligger i en parent directory, hvordan gør jeg så det?

vh. Emil
Avatar billede j4k0b Nybegynder
15. april 2009 - 16:54 #3
Mappen hvor index.py ligger i skal være et kendt Python-modul for parseren, dvs.:

1) Du skal tilføje stien til mappen hvor index.py ligger i til sys.path (se eksempel nedenfor)
2) Du skal oprette en fil ved navn __init__.py i mappen hvor index.py ligger i (filen kan være tom - bare den eksisterer)

-----------------------------

import sys
sys.path.append('/www/mitsite/htdocs')

from index import minFunktion


minFunktion()
Avatar billede j4k0b Nybegynder
15. april 2009 - 16:57 #4
PS: Hvis du har mange forskellige mapper i sys.path som indeholder en fil ved navn index.py kan du nemt få nogen problemer med at importere den korrekte. I stedet vil jeg anbefale dig at tilføje den mest overordnede mappe i din hjemmeside til sys.path, eksempelvis:

-----------------------------

import sys
sys.path.append('/www/mitsite')

from htdocs.index import minFunktion


minFunktion()
Avatar billede moun Nybegynder
16. april 2009 - 09:16 #5
Mange tak for hjælpen, det virker nu :)

smid et svar :)
Avatar billede j4k0b Nybegynder
16. april 2009 - 09:50 #6
super :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester