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

Python WEB开发环境搭建及配置六之Django_django Python


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 ",如下图

Python WEB开发环境搭建及配置六之Django_django Python_02


新增一下内容,如图

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>

Python WEB开发环境搭建及配置六之Django_django Python_03


8.运行Apache,访问www.mytest.com,注意添加解析记录


到这里Linux+Apache+mysql+Python+django+Eclipse配置完成