Python web框架与其它语言不同,并没有一个web框架占有绝对的领导地位,每一种Python的web框架都有自己的特点及优势,可以根据自身的需求使用觉得合适的框架;目前比较流行的框架有Tornado、web.py、Bottle、Flask、Pylons、TurboGears、django。在这里我们着重介绍Django,这篇博文是Python web环境搭建的最后一篇,后面的博文将介绍Django的实际应用。
1.安装django;有两种安装方法,可以使用pip install django和 Python setup.py install
#tar -zxvf django-1.6.2.tar.gz
#cd django-1.6.2
#Python setup.py install
或者使用
#pip install django
2.验证django是否安装成功,在Python交互环境里输入import django;没有提示则表示django安装成功
3.运行第一个django,为了后面的讲解方便在目录/var/www建立项目,如果在其他地方建立django项目的话,需要更改该目录的selinux 的上下文,否则通过Apache访问的时候会出现权限不够不能访问的情况。
#cd /var/www
#django-admin.py startproject mysite
#cd mysite
4.生产文件含义如下:
__init__.py :让Python把该目录当成一个开发包所需的文件。这是一个空文件,不需要修改它。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。
settings.py :该 Django 项目的设置或配置。
urls.py:Django项目的URL设置,可视其为你的django网站的目录。
wsgi.py:这个是让Apache识别Python应用
5.运行django,在浏览器输入localhost:8000查看运行结果
#Python manage.py runserver
6.使用Apache,步骤5所使用的是django自带的微型web服务器,只能提供开发时使用,并不能再实际生产环境中部署,而使用Apache需要新建wsgi文件
#mkdir apache
#cd apache
#vim django.wsgi 注可以任意命名,只要以wsgi结尾即可
写入如下内容
import os
import sys
# redirect sys.stdout to sys.stderr for bad libraries like geopy that uses
# print statements for optional import exceptions.
sys.stdout = sys.stderr
from os.path import abspath, dirname, join
from site import addsitedir
from django.core.handlers.wsgi import WSGIHandler
sys.path.insert(0, abspath(join(dirname(__file__), "../")))
sys.path.insert(0, abspath(join(dirname(__file__), ". . /. . /")))
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
application = WSGIHandler()
保存退出
7.配置Apache,修改httpd.conf文件
# vi /etc/httpd/conf/httpd.conf
修改DocumentRoot "/var/www/mysite "
修改<Directory "/var/www/mysite ",如下图
新增一下内容,如图
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.mytest.com
ServerAlias www.mytest.cn
DocumentRoot /var/www/mysite
WSGIScriptAlias / /var/www/mysite/apache/django.wsgi
<Directory "/var/www/mysite">
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
8.运行Apache,访问www.mytest.com,注意添加解析记录
到这里Linux+Apache+mysql+Python+django+Eclipse配置完成