Runar0 Skrevet 10. juni 2007 Skrevet 10. juni 2007 (endret) Hei, Har eit ganske lett spørsmål egentlig. Fungerer python på webservere på samme måte som php? For å spør litt meir spesifikt kan eg lage eit program med Django og så laste det opp på webserveren på same måte som ei php fil og gå til domene.no/test.py? Er 110% grøn på python men har ein god del erfaring med php. Etter å ha sett korleis django fungerer (spesielt autogenerering av admin sidene) så har eg bestemt meg får å prøve litt python Runar Edit: Og der fant eg dokumentasjons sida til django. Problem løst Endret 10. juni 2007 av Shadows0
genstian Skrevet 15. juni 2007 Skrevet 15. juni 2007 modpython.org! Fordeler med python fremfor PHP: Python er enklere og mer oversiktelig Mulighet for persistant og Fast CGI Tilgang til apache API (gjennom mod_python) Mange flere moduler Fordeler med PHP: Laget for WWW Lettere POST, GET, COOKIE Raskere til små script Her er et script som jeg har laget mens jeg prøvde meg på Python og XML-RPC FastCGI. Støtter POST, GET og COOKIE til serveren. Krever mod_python. frontend.py: Klikk for å se/fjerne innholdet nedenfor import xmlrpclib from mod_python import apache, util, Cookie def handleCookies(req, cookies): for x in cookies: Cookie.add_cookie(req, x, cookies[x][0], expires=cookies[x][1], domain=cookies[x][2], path=cookies[x][3]) def handler(req): """ Read all values before we request at the backend, save this per-request task to this script """ form = util.FieldStorage(req).list vars = {} for field in form: vars[field.name] = field.value cookies = Cookie.get_cookies(req) cooki = {} oo = "" for cookie in cookies: oo += "Cookie named: %s, value %s :: " % (cookie, cookies[cookie].value) cooki[cookie] = cookies[cookie].value arti = xmlrpclib.Server("http://localhost:51250") "Setup everything" output = arti.main(vars, cooki) "Setup new cookies" handleCookies(req, output["acookies"]) "give header info" req.content_type = output["content_type"] "set content" req.write(output["content"]) req.write(oo) return apache.OK backend.py Klikk for å se/fjerne innholdet nedenfor from SimpleXMLRPCServer import * import time HOST = "localhost" PORT = 51250 class artiRequest: def main(self, values, cookies): self.re = {} self.values = values self.cookies = cookies self.re["acookies"] = {} self.re["content"] = "" return arti.request(self) def cookie(self, name, value=1, expireT=0, domain="", path=""): if not expireT: expireT = arti.expireT expires = time.time() + expireT if not domain: domain = arti.domain if not path: path = arti.path self.re["acookies"][name] = [value, expires, domain, path] def write(self, content): self.re["content"] += content class artiGlobal: def __init__(self): self.domain = "" self.path = "" self.expireT = 14400 def request(self, req): req.re["content_type"] = "text/html" req.write("Hello world\n\n") if not req.cookies.has_key("ECHOC"): req.cookie("ECHOC", "ECHOV") return req.re global arti arti = artiGlobal() server = SimpleXMLRPCServer((HOST, PORT)) server.register_instance(artiRequest()) print "Arti backend started, Listen on ", HOST, ":", PORT server.serve_forever() .htaccess: Klikk for å se/fjerne innholdet nedenfor SetHandler mod_python PythonDebug On PythonHandler frontend
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå