3.Django及web项目
3.1 安装django( http://www.djangoproject.com)
第一种安装方法:
cd到django目录下,执行python setup.py install
cd python25\Lib\site-packages\
把Lib\site-packages\django\bin\目录下的django-admin拷贝到 python25\Scripts\
第二中安装方法:
拷贝django\build\lib 下的django整个文件夹到 python25\Lib\site-packages\
拷贝django\build\scripts-2.5\ 下的django-admin文件到 python25\Scripts\
检查django是否安装成功:
进入shell,执行import django,成功执行则安装成功。
3.2 创建web项目(使用django自带的服务器)
E:\mysite>django-admin.py startproject testsite
生成了一个testsite目录,包含__init__.py, manage.py, settings.py, urls.py
__init__.py 说明mysite是一个python module
manage.py 管理应用程序
settings.py 配置应用程序
urls.py URL映射
E:\mysite>python manage.py runserver
查看http://localhost:8000/页面
显示It worked!则成功
默认使用端口是8000,修改默认使用端口为8080: python manage.py runserver 8080
3.3 创建web项目(Apache + mod_python)
3.3.1 安装Apache
下载地址 : http://archive.apache.org/dist/httpd/binaries/win32/
apache_2.2.6-win32-x86-no_ssl.msi安装,下一步,下一步……
3.2 安装mod_python
下载地址 : http://www.modpython.org/
mod_python-3.3.1.win32-py2.5-Apache2.2.exe 安装时要注意,要选择Apache的安装目录
3.3 部署web项目
修改Apache/conf/httpd.conf:
注意:在修改做备份,以防万一修改错误!
设置MaxRequestsPerChild 1,这样可以在开发阶段不用重启Apache进行测试,但是运行比较慢
添加LoadModule python_module modules/mod_python.so
去掉注释Include conf/extra/httpd-vhosts.conf
修改Apache/conf/extra/httpd-vhosts.conf:
注意:用的例子是前面3.2中的web项目。
<VirtualHost 127.0.0.1:80>
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['E:/mysite'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE testsite.settings
PythonAutoReload Off
PythonDebug On
</Location>
</VirtualHost>
在E:\mysite\testsite下新建hellodjango.py(=之间为文件内容):
============================================
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django.")
============================================
修改urls.py:
===========================================================
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
# (r'^testsite/', include('testsite.foo.urls')),
(r'^$', 'testsite.hellodjango.index'),
# Uncomment this for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)
============================================================
启动Apache,访问http://localhost
3.1 安装django( http://www.djangoproject.com)
第一种安装方法:
cd到django目录下,执行python setup.py install
cd python25\Lib\site-packages\
把Lib\site-packages\django\bin\目录下的django-admin拷贝到 python25\Scripts\
第二中安装方法:
拷贝django\build\lib 下的django整个文件夹到 python25\Lib\site-packages\
拷贝django\build\scripts-2.5\ 下的django-admin文件到 python25\Scripts\
检查django是否安装成功:
进入shell,执行import django,成功执行则安装成功。
3.2 创建web项目(使用django自带的服务器)
E:\mysite>django-admin.py startproject testsite
生成了一个testsite目录,包含__init__.py, manage.py, settings.py, urls.py
__init__.py 说明mysite是一个python module
manage.py 管理应用程序
settings.py 配置应用程序
urls.py URL映射
E:\mysite>python manage.py runserver
查看http://localhost:8000/页面
显示It worked!则成功
默认使用端口是8000,修改默认使用端口为8080: python manage.py runserver 8080
3.3 创建web项目(Apache + mod_python)
3.3.1 安装Apache
下载地址 : http://archive.apache.org/dist/httpd/binaries/win32/
apache_2.2.6-win32-x86-no_ssl.msi安装,下一步,下一步……
3.2 安装mod_python
下载地址 : http://www.modpython.org/
mod_python-3.3.1.win32-py2.5-Apache2.2.exe 安装时要注意,要选择Apache的安装目录
3.3 部署web项目
修改Apache/conf/httpd.conf:
注意:在修改做备份,以防万一修改错误!
设置MaxRequestsPerChild 1,这样可以在开发阶段不用重启Apache进行测试,但是运行比较慢
添加LoadModule python_module modules/mod_python.so
去掉注释Include conf/extra/httpd-vhosts.conf
修改Apache/conf/extra/httpd-vhosts.conf:
注意:用的例子是前面3.2中的web项目。
<VirtualHost 127.0.0.1:80>
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['E:/mysite'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE testsite.settings
PythonAutoReload Off
PythonDebug On
</Location>
</VirtualHost>
在E:\mysite\testsite下新建hellodjango.py(=之间为文件内容):
============================================
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django.")
============================================
修改urls.py:
===========================================================
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
# (r'^testsite/', include('testsite.foo.urls')),
(r'^$', 'testsite.hellodjango.index'),
# Uncomment this for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)
============================================================
启动Apache,访问http://localhost