[mod_python] Simple Issue, Baffling

Eric Strand estrand at isomedia.com
Thu Jan 26 17:06:02 EST 2006


By using "text/html", the browser will treat it as HTML, but since you 
have no HTML tags in the file being returned (it's just CSS styles), it 
will appear as text.  There is nothing unusual there.

The fact that the CSS file is not being used when inside a <link> tag 
may indicated that the path in the link tag does not have the correct 
path to the CSS file.  (You probably have double checked this, but I 
point it out just offer up a suggestion that hasn't been explicitly 
dismissed.)

If you don't already use it, you might find the "live headers" firefox 
plugin useful to see what the browser is up to:

http://livehttpheaders.mozdev.org/

--Eric


David Worley wrote:
> To clarify further:
> 
> http://localhost/some/file/system/directory/style.css is only ever
> called from an HTML file, via a <link> tag. The HTML is valid. The HTML
> page is NOT generated by mod_python. It's just a plain HTML file in the
> folder. I created it just for testing dynamically created CSS files.
> 
> The separate issue of "text/html" content is, indeed, handled by another
> handler. The two are unrelated. When text/css content wouldn't work, I
> tried something simpler: plain HTML return content.
> 
> Simply put, req.write(xxx) returns content that my browser does not make
> use of, whether CSS or HTML, despite the explicit declaration of
> req.content_type. The browser just thinks it's text.
> 
> It may be more accurate to say that the server never returns HTML or
> CSS, rather than saying that the browser never renders the file
> returned.
> 
> ===============================
> David Worley
> Senior Front End Developer
> dworley at communityconnect.com
> =============================== 
> 
> -----Original Message-----
> From: Jim Gallacher [mailto:jpg at jgassociates.ca] 
> Sent: Thursday, January 26, 2006 4:15 PM
> To: David Worley
> Cc: mod_python at modpython.org
> Subject: Re: [mod_python] Simple Issue, Baffling
> 
> David Worley wrote:
> 
>>Hello, all. I'm new to mod_python and somewhat new to server side
>>programming.
>>
>>I've read the documentation, and I can't seem to find out something
>>relatively simple.
>>
>>I'm writing a CSS preprocessor. It's meant to grab a request for a
> 
> .css
> 
>>file, process another file and return the result to the browser. The
>>issue I have is that I can't get the handler to return content the
>>browser actually uses.
>>
>>To clarify, I'm running Apache 2.0, Python 2.4 on Windows XP.
>>
>>So with the following httpd.conf entry:
>>
>><Directory /some/file/system/directory>
>>	AddHandler python-program .sss
>>	PythonHandler switch
>>	PythonDebug On
>></Directory>
>>
>>And the following Python code, in switch.py:
>>
>>from mod_python import apache
>>
>>def handler(req):
>>	req.content_type = "text/css"
>>	req.write("""\
>>body { background-color: red; }""")
>>	return apache.OK
>>
>>This works. It works great. When I request
>>http://localhost/some/file/system/directory/style.css, I get the body
>>declaration above. BUT the browser doesn't use it!
> 
> 
> Maybe I don't understand the question but why would it? The browser only
> 
> uses the stylesheet to render the page when it's specified in an html 
> <style> tag.
> 
> 
>>I have the same problem when declaring req.content_type = "text/html":
>>the code is returned properly, but it isn't rendered as HTML. It's
> 
> just
> 
>>text, as far as the browser is concerned.
> 
> 
> You got me there, unless you are saying you are getting the python code 
> as opposed to the html you send with req.write. Are you writing valid 
> html? Any chance there is a typo in req.content_type = 'text/html'? Are 
> you using a different handler for generating the html?
> 
> It would help if you can clarify your problem a little.
> 
> Jim
> 
> 
> 
> 
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python
> 


More information about the Mod_python mailing list