i am using python 2.6.5 to develop an app for google app engine – i am not too familiar with python, but i’m learning.
i am trying to put a url into a string so variable = “string http://domain.name“
then i print the string out. the problem is, if the colon (after http) is in the string, i don’t get any output and i don’t know why.
i’ve tried escaping the string with:
- “””http://domain.name”””
- r”http://domain.name”
- “http\://domain.name”
- “http\://domain.name”
- “http\\://domain.name”
- “http:://domain.name”
none of them seem to work and i’m not sure what else to try
The context is like so
variables.py is:
...
HOST_URL = "http://domain.name"
...
example logout.py
import variables
import sys
...
class Logout(webapp.RequestHandler):
""" RequestHandler for when a user wishes to logout from the system."""
def post(self):
self.get()
def get(self):
print(variables.HOST_URL)
print('hi')
self.redirect(variables.HOST_URL)
sys.exit()
or
in file functions.py
import variables
import sys
...
def sendhome(requesthandler)
print 'go to '+variables.HOST_URL
requesthandler.redirect(variables.HOST_URL)
sys.exit()
called from a context like:
from functions import sendhome
...
class Logout(webapp.RequestHandler):
""" RequestHandler for when a user wishes to logout from the system."""
def post(self):
self.get()
def get(self):
sendhome(self)
any help would be appreciated
thanks
If I’m not terrible mistaken, GAE uses WSGI, you do not simply print things, you are supposed to return a proper HTTP response object (it is not PHP).
I guess that if you access the page using firefox+firebug and look at the network->header you will see that the browser is taking http: as an HTTP header with value “//domain.name”.
Edited: By the way, should not you be using “self.response.out.write” instead of “print”?