Hacker News new | ask | show | jobs
by emilv 4574 days ago
I have a fresh install of such a distro, where Python is included. What do I need to do to from Python present an input form which takes my name and a second page that greets me using the same name? Including deployment of course, how else should I test it without paying a web host?

I'm not discussing headaches, I do nit particularly like PHP. My point is just that Python is not very easy to get started with for beginners.

1 comments

  import web
          
  urls = (
      '/(.*)', 'hello'
  )
  app = web.application(urls, globals())
  
  class hello:        
      def GET(self, name):
          if name: 
              return 'Hello, ' + name + '!'
          else:
              return "<form><input name='name'></form>"
  
  if __name__ == "__main__":
      app.run()
upload into your web server's cgi-bin folder, or have the server configured to exec all *.py files as python

ED> yeah, this is a few more lines of code than PHP and it requires a teeny tiny amount of knowledge about how the web works - and that "takes 5 minutes to get started" vs PHP's "takes 2 minutes to get started" is a big difference for someone who doesn't know what they're doing but wants results immediately :P

EDED> Actually now that I think about it, that's how /I'd/ start a simple webapp as it has the structure in place to grow easily and elegantly -- if you're willing to do things the quick and dirty way, you can go without a framework and just print an HTTP response to stdout - in which case the only difference with PHP is that the python version requires "print 'Content-type: text/html\n'" at the top

I certainly do agree that this somewhat more abstract approach is much better for stable web applications. My point is that PHP doesn't require you to understand anything to get started, which explains its widespread usage. That is of course not true if you want security or maintainability, but that is exactly the snake oil sold by PHP.

But this web framework is much newer than PHP, isn't it? And this does not look better or easier than PHP: https://wiki.python.org/moin/CgiScripts

> And this does not look better or easier than PHP: https://wiki.python.org/moin/CgiScripts

That has tracebacks on error and HTML escaping, so I'd say it's considerably better for a tiny increase in difficulty (but you're right that no matter now tiny the difference, PHP is still easier)