Best Framework
One of the best framework for this is Django framework .This is indeed a wonderful framework with lots of build in support to python and web development .
This provides built in admin panel, support DRY(Don't Repeat Your code) methodology of Python, easy to understand, lots of Django libraries to help you any time you stuck .
There is no info about configuring Apache with mod_python to work with Django. I am assuming you will use the inbuilt development server to test your source, so skip the Apache part in the first step if you like.
1) Install Apache with mod_python module and download Django Web Framework.
- <a href="https://www.djangoproject.com/download/" target="_blank" rel="nofollow noopener noreferrer">Download Django | Django</a>
- <a href="https://httpd.apache.org/download.cgi" target="_blank" rel="nofollow noopener noreferrer">Download - The Apache HTTP Server Project</a>
- #-Link-Snipped-#
2) Install Python.
3) Install Django by placing the Django folder into â
Python/Lib/site-packages/â or
use the Django installer. There is a problem when using the installer from a second level directory e.g.
â¦error: package directory â\djangoâ does not exist
Fix that by changing line 24 in setup.py file from
package = dirpath[len_root_dir:].lstrip(â/').replace(â/', â.â)
to
package = dirpath[len_root_dir:].lstrip(â\\â).replace(â\\â, â.â)
Read more about it here :
- <a href="https://code.djangoproject.com/ticket/3245" target="_blank" rel="nofollow noopener noreferrer">#3245 (setup.py error on windows when installing from a second level directory) – Django</a>
Dont know where Python is installed? Use this command to find the â
/site-packagesâ folder:
python -c
>>>from distutils.sysconfig import get_python_lib
>>>print get_python_lib()
4) Add the Python directory and the â
django-admin.pyâ file to your classpath e.g.
- Python: set path=%path%;D:\Kosmal\Web\Python
- django-admin.py: set path=%path%;D:\Kosmal\Web\Python\Lib\site-packages\django\bin
This will make it way more comfortable to use the Python interpreter.
5) Check the Django installation by invoking the Python interpreter using the command line. From a shell type â
pythonâ and from prompt type â
import djangoâ. If there is no error message, Django was correctly installed.
6) Creating a test project.
Switch to the directory in where you want your test project to be deployed and run the command â
django-admin.py startproject mysiteâ. This creates a folder in the current directory called â
mysiteâ.
Created files in â
mysiteâ folder:
- __init__.py: An empty file that tells Python that this directory
should be considered a Python package. (Read `more about packages`_ in the official Python docs if youâre a Python beginner.)
- manage.py: A command-line utility that lets you interact with this Django project in various ways.
- settings.py: Settings/configuration for this Django project.
- urls.py: The URL declarations for this Django project; a âtable ofcontentsâ of your Django-powered site.
7) Check your project with the build in lightweight server. Switch to the â
mysiteâ directory and run the command â
manage.py runserverâ. You now should see following output:
- Validating modelsâ¦
0 errors found.
Django version 0.95, using settings âmysite.settingsâ
Development server is running at #-Link-Snipped-#
Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).
Now that the server is running, visit #-Link-Snipped-# with your Web browser.
By default, the â
runserverâ command starts the development server on port 8000. If you want to change the serverâs port, pass it as a command â line argument. For instance, this command starts the server on port 8080:
â
python manage.py runserver 8080â
8) Database setup (assuming there is already a database installed, I used PostgreSQL ).
Open the file â
settings.pyâ and edit the database settings with database connection details like engine, database name, user, password etc.
Make sure the database exists before going on to the next step.
Django comes with installed default applications which require at last one table in the
database. Scroll down the â
settings.pyâ to see which applications there are.
Run the command â
python manage.py syncdbâ which will create the essential tables in the database. When running on a windows machine and using PostgreSQL make sure to install the
psycopg python-postgresql database interface windows port which you can download here:
If you are getting an errormessage that ends something like this after using the
â
python manage.py dbsyncâ command:
â¦Value Error : invalid literal for int() with base 10: â3,â at line 57 of base.py
you have to replace that line of code with the following line:
postgres_version = [int(val.strip(',')) for val in cursor.fetchone()[0].split()[1].split(â.')]
Read more about this here:
- <a href="https://code.djangoproject.com/ticket/6987" target="_blank" rel="nofollow noopener noreferrer">#6987 (manage.py syncdb: Error with the PostgreSQL version.) – Django</a>
Now Django is properly setup and can connect to the database.