where do I begin with web programming in python?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jmDesktop

    where do I begin with web programming in python?

    I have been to the main python site, but am still confused. I have
    been using .net, so it may be obvious how to do this to everyone
    else. I am aware there are various frameworks (Django, Pylons, etc.),
    but I would like to know how to create web pages without these. If I
    have mod_python or fastcgi on apache, where do I start? I don't have
    clue where to begin to create a web page from scratch in python. I am
    sure I will want to access database, etc., all the "normal" stuff, I
    just want to do it myself as opposed to the frameworks, for learning.

    Thank you for any help.
  • Mike Driscoll

    #2
    Re: where do I begin with web programming in python?

    On May 1, 4:25 pm, jmDesktop <needin4mat...@ gmail.comwrote:
    I have been to the main python site, but am still confused.  I have
    been using .net, so it may be obvious how to do this to everyone
    else.  I am aware there are various frameworks (Django, Pylons, etc.),
    but I would like to know how to create web pages without these.  If I
    have mod_python or fastcgi on apache, where do I start?  I don't have
    clue where to begin to create a web page from scratch in python.  I am
    sure I will want to access database, etc., all the "normal" stuff, I
    just want to do it myself as opposed to the frameworks, for learning.
    >
    Thank you for any help.
    The web frameworks make it a lot easier. But you can use the httplib
    modules. You should check out the wiki: http://wiki.python.org/moin/WebProgramming

    There's also a couple of books on the topic: "Python Web Programming"
    by Steve Holden, and "Web Programming in Python" by Thiruvathukal.

    Check out the cgi-type stuff especially.

    Hope that helps some.

    Mike

    Comment

    • Christian Heimes

      #3
      Re: where do I begin with web programming in python?

      jmDesktop schrieb:
      I have been to the main python site, but am still confused. I have
      been using .net, so it may be obvious how to do this to everyone
      else. I am aware there are various frameworks (Django, Pylons, etc.),
      but I would like to know how to create web pages without these. If I
      have mod_python or fastcgi on apache, where do I start? I don't have
      clue where to begin to create a web page from scratch in python. I am
      sure I will want to access database, etc., all the "normal" stuff, I
      just want to do it myself as opposed to the frameworks, for learning.
      I highly recommend WSGI instead of mod_python or (fast)cgi. I've heard
      only bad things about mod_python over the past years and CGI is totally
      old school.

      Check out Python Paste, CherryPy and Django. You can also try the Zope,
      Zope3 and Plone world but Zope is usually for larger and complex
      applications.

      Most frameworks come with their own little web server for development, too.

      Christian

      Comment

      • Graham Dumpleton

        #4
        Re: where do I begin with web programming in python?

        On May 2, 7:45 am, Christian Heimes <li...@cheimes. dewrote:
        jmDesktop schrieb:
        >
        I have been to the main python site, but am still confused. I have
        been using .net, so it may be obvious how to do this to everyone
        else. I am aware there are various frameworks (Django, Pylons, etc.),
        but I would like to know how to create web pages without these. If I
        havemod_pythono r fastcgi on apache, where do I start? I don't have
        clue where to begin to create a web page from scratch in python. I am
        sure I will want to access database, etc., all the "normal" stuff, I
        just want to do it myself as opposed to the frameworks, for learning.
        >
        I highly recommend WSGI instead ofmod_pythonor (fast)cgi. I've heard
        only bad things aboutmod_python over the past years and CGI is totally
        old school.
        >
        Check out Python Paste, CherryPy and Django. You can also try the Zope,
        Zope3 and Plone world but Zope is usually for larger and complex
        applications.
        >
        Most frameworks come with their own little web server for development, too.
        I'd also suggest avoiding coding anything directly to mod_python and
        instead base things on WSGI. You can still run it on mod_python with a
        suitable adapter, but you can also run it with mod_wsgi, mod_fastcgi,
        or using pure Python web servers such as the one in Paste as well.

        For a low level nuts and bolts (anti framework) approach I'd suggest
        looking at:



        This gives you all the basic components, but it is really up to you as
        to how you put them together, which seems to be what you want to be
        able to do.

        Graham

        Comment

        • George Sakkis

          #5
          Re: where do I begin with web programming in python?

          On May 1, 7:13 pm, Graham Dumpleton <Graham.Dumple. ..@gmail.com>
          wrote:
          On May 2, 7:45 am, Christian Heimes <li...@cheimes. dewrote:
          >
          >
          >
          jmDesktop schrieb:
          >
          I have been to the main python site, but am still confused.  I have
          been using .net, so it may be obvious how to do this to everyone
          else.  I am aware there are various frameworks (Django, Pylons, etc.),
          but I would like to know how to create web pages without these.  If I
          havemod_pythono r fastcgi on apache, where do I start?  I don't have
          clue where to begin to create a web page from scratch in python.  I am
          sure I will want to access database, etc., all the "normal" stuff, I
          just want to do it myself as opposed to the frameworks, for learning.
          >
          I highly recommend WSGI instead ofmod_pythonor (fast)cgi. I've heard
          only bad things aboutmod_python over the past years and CGI is totally
          old school.
          >
          Check out Python Paste, CherryPy and Django. You can also try the Zope,
          Zope3 and Plone world but Zope is usually for larger and complex
          applications.
          >
          Most frameworks come with their own little web server for development, too.
          >
          I'd also suggest avoiding coding anything directly to mod_python and
          instead base things on WSGI. You can still run it on mod_python with a
          suitable adapter, but you can also run it with mod_wsgi, mod_fastcgi,
          or using pure Python web servers such as the one in Paste as well.
          >
          For a low level nuts and bolts (anti framework) approach I'd suggest
          looking at:
          >
           http://dev.pocoo.org/projects/werkzeug/
          >
          This gives you all the basic components, but it is really up to you as
          to how you put them together, which seems to be what you want to be
          able to do.
          Or if you don't want to use any 3rd party package and have Python 2.5,
          you may start from http://www.xml.com/pub/a/2006/09/27/...eb-weapon.html.
          Here's the standard "Hello world!" example:

          from wsgiref.simple_ server import make_server

          def application(env iron, start_response) :
          start_response( '200 OK',[('Content-type','text/html')])
          return ['<html><body>He llo World!</body></html>']

          httpd = make_server('', 8000, application)
          print "Serving HTTP on port 8000..."
          httpd.serve_for ever()

          and point your browser to http://localhost:8000/

          HTH,
          George

          Comment

          • Paul Rubin

            #6
            Re: where do I begin with web programming in python?

            jmDesktop <needin4mation@ gmail.comwrites :
            I am aware there are various frameworks (Django, Pylons, etc.),
            but I would like to know how to create web pages without these. If I
            have mod_python or fastcgi on apache, where do I start? I don't have
            clue where to begin to create a web page from scratch in python. I am
            sure I will want to access database, etc., all the "normal" stuff, I
            just want to do it myself as opposed to the frameworks, for learning.
            I didn't notice anyone mentioning the simplest answer of them all:
            write an old fashioned cgi using python's cgi module.

            Comment

            • 7stud

              #7
              Re: where do I begin with web programming in python?

              On May 1, 3:25 pm, jmDesktop <needin4mat...@ gmail.comwrote:
              I have been to the main python site, but am still confused.  I have
              been using .net, so it may be obvious how to do this to everyone
              else.  I am aware there are various frameworks (Django, Pylons, etc.),
              but I would like to know how to create web pages without these.  If I
              have mod_python or fastcgi on apache, where do I start?  I don't have
              clue where to begin to create a web page from scratch in python.  I am
              sure I will want to access database, etc., all the "normal" stuff, I
              just want to do it myself as opposed to the frameworks, for learning.
              >
              Thank you for any help.
              Directions for a simple CGI script:

              1) Start apache.

              2) Use a text editor to create a webpage with a link:

              <html>
              <head>
              <title>Python CGI Test</title>
              </head>

              <body>
              <div>
              <a href="http://localhost/cgi-bin/first.py">click me</a>
              </div>
              </body>

              </html>

              Save that file with a .htm extension anywhere on your computer, e.g.
              name the file test.htm and save it in C:\My Documents.


              3) The value of the link's href attribute is a special url. The url
              starts with "http://localhost", or it may need to start with something
              like http://localhost:8080" depending on what port number you
              installed Apache on. If you used the default port when you installed
              Apache, then the first part of the url will be "http:/localhost".

              The rest of the url is the relative path to your cgi script. The path
              is relative to your Apache2 folder. For instance, my directory
              structure looks like this:

              Apache2
              ----htdocs
              ----cgi-bin
              --------first.py
              ----etc.

              So the relative path to my cgi script is "/cgi-bin/first.py".

              4) Create a cgi script:

              #!/usr/bin/env python

              #For Windows, instead of the above line use
              #something like: #!C:\Python25\p ython.exe
              #instead. The path after "#!" should be the
              #path to wherever python.exe is on your computer.

              import cgitb; cgitb.enable()

              #The above line will cause error messages to
              #be sent to your browser, which is helpful for
              #debugging. Otherwise, your browser will just
              #show a blank page when there is an error in your
              #script

              print "Content-type: text/html"
              print
              print "<h1>Hello World</h1>"


              The first print statement is the minimum header you need when
              responding to a web page. After you print all the headers you desire,
              then you need to print a blank line. After the blank line, you print
              the html that you want the browser to display.


              5) On Unix: you have to set the file permissions for your cgi script.
              Everyone must be able to read and execute your cgi script:

              $ chmod 755 first.py


              6) Start your web browser, and click on File>Open and navigate to
              your .htm file. When your html page opens in your browser, click on
              the link. The link will call your python cgi script, the cgi script
              will respond my sending some html to your browser, then your browser
              will display the html.


              Comment

              • andrei.zavidei@gmail.com

                #8
                Re: where do I begin with web programming in python?

                On May 2, 10:07 am, bvidinli <bvidi...@gmail .comwrote:
                i also asked same question in this list last week.
                i foundhttp://www.cherrypy.or g/to be most suitable for me.
                it is basic, easy, pure...
                it contains its own webserver, very easy to start.
                >
                others have many framworks, structures, classes many many..
                i wanted a pure web programming system , i found cherrypy.
                >
                see you.
                >
                2008/5/2 jmDesktop <needin4mat...@ gmail.com>:
                >
                I have been to the main python site, but am still confused.  I have
                 been using .net, so it may be obvious how to do this to everyone
                 else.  I am aware there are various frameworks (Django, Pylons, etc..),
                 but I would like to know how to create web pages without these.  IfI
                 have mod_python or fastcgi on apache, where do I start?  I don't have
                 clue where to begin to create a web page from scratch in python.  Iam
                 sure I will want to access database, etc., all the "normal" stuff, I
                 just want to do it myself as opposed to the frameworks, for learning.
                >
                 Thank you for any help.
                 --
                 http://mail.python.org/mailman/listinfo/python-list
                >
                --
                Ý.Bahattin Vidinli
                Elk-Elektronik Müh.
                -------------------
                iletisim bilgileri (Tercih sirasina gore):
                skype: bvidinli (sesli gorusme icin,www.skype.com)
                msn: bvidi...@iyibir isi.com
                yahoo: bvidinli
                >
                +90.532.7990607
                +90.505.5667711
                I agree. Try cherrypy. I was able to write simple issue tracking
                system for my project with basic web interface within 2 weeks.
                Prior to this I had no web development experience at all. It was
                really easy with cherrypy to start.

                Comment

                • CM

                  #9
                  Re: where do I begin with web programming in python?

                  On May 2, 10:18 am, "andrei.zavi... @gmail.com"
                  <andrei.zavi... @gmail.comwrote :
                  On May 2, 10:07 am, bvidinli <bvidi...@gmail .comwrote:
                  >
                  >
                  >
                  i also asked same question in this list last week.
                  i foundhttp://www.cherrypy.or g/tobe most suitable for me.
                  it is basic, easy, pure...
                  it contains its own webserver, very easy to start.
                  >
                  others have many framworks, structures, classes many many..
                  i wanted a pure web programming system , i found cherrypy.
                  >
                  see you.
                  >
                  2008/5/2 jmDesktop <needin4mat...@ gmail.com>:
                  >
                  I have been to the main python site, but am still confused. I have
                  been using .net, so it may be obvious how to do this to everyone
                  else. I am aware there are various frameworks (Django, Pylons, etc.),
                  but I would like to know how to create web pages without these. If I
                  have mod_python or fastcgi on apache, where do I start? I don't have
                  clue where to begin to create a web page from scratch in python. I am
                  sure I will want to access database, etc., all the "normal" stuff, I
                  just want to do it myself as opposed to the frameworks, for learning.
                  >>
                  --
                  Ý.Bahattin Vidinli
                  Elk-Elektronik Müh.
                  -------------------
                  iletisim bilgileri (Tercih sirasina gore):
                  skype: bvidinli (sesli gorusme icin,www.skype.com)
                  msn: bvidi...@iyibir isi.com
                  yahoo: bvidinli
                  >
                  +90.532.7990607
                  +90.505.5667711
                  >
                  I agree. Try cherrypy. I was able to write simple issue tracking
                  system for my project with basic web interface within 2 weeks.
                  Prior to this I had no web development experience at all. It was
                  really easy with cherrypy to start.

                  Really? I tried CherryPy for a few minutes--totally 100% new to
                  web programming--and though I was pleased at the very basic "Hello,
                  World!" tutorial, I was unable to figure out how to use the more
                  advanced tutorials that come with the package. Could you suggest
                  how one could learn? I have experience with Python and GUI app
                  development, zero on web apps, but want to make widget-having web
                  apps which uses Python as the logic.

                  Any tips would be appreciated!

                  Also, beyond just running a small test web app with the "server"
                  running on my own computer, what is a basic way to try it out
                  actually on the web? Thanks!

                  Comment

                  Working...