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配置完成