henda 发表于 2015-4-24 06:46:18

python+Django+apache的配置


[*]下载安装xampp套件
[*]下载mod_python-3.3.1.win32-py2.5-Apache2.2.exe
[*]下载python-2.5.4.msi
[*]下载Django
[*]下载MySQL-python-1.2.2.win32-py2.5.exe
  
  1、先安装Python-2.5.4.msi
  2、安装 Django-1.1.1-final.tar.gz 解压开,然后解压到某个目录如:(D:/Dev)
  在命令提示符下进入该目录,输入:cd D:/Dev/Django-1.1.1
  再输入命令:python setup.py install
  先简单的测试一下。
  命令提示符下,输入:python
  然后输入import django
  然后输入django.VERSION
  我看到的是这样的: >>> import django >>> django.VERSION (final 1.1.1) >>>
  3、安装 MySQL-python-1.2.2.win32-py2.5.exe
  这个双击安装过程中应该不会出错。
  4、安装 mod_python-3.3.1.win32-py2.5-Apache2.2.exe
  最后一个选择目录要安装在apache的安装目录下。
  5、新建项目
  命令行进入c:/Python25/,执行“django-admin.py startproject myproj”,新建名为myproj的项目。
  6、新建py文件
  在c:/Python25/myproj目录下新建helloWord.py:



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]from django.http import HttpResponse
[*]
[*]def index(request):
[*]    return HttpResponse('Hello, Django!')
  
  配置urls.py文件



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]from django.conf.urls.defaults import *
[*]
[*]# Uncomment the next two lines to enable the admin:
[*]# from django.contrib import admin
[*]# admin.autodiscover()
[*]
[*]urlpatterns = patterns('',
[*]    # Example:
[*]    # (r'^myproj/', include('myproj.foo.urls')),
[*]    (r'^$', 'myproj.helloworld.index'),
[*]    # Uncomment the admin/doc line below and add 'django.contrib.admindocs'   
[*]    # to INSTALLED_APPS to enable admin documentation:
[*]    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
[*]
[*]    # Uncomment the next line to enable the admin:
[*]    # (r'^admin/', include(admin.site.urls)),
[*])
  
  
  7、配置Apache的httpd.conf
  添加LoadModule python_module modules/mod_python.so
  编辑httpd-vhosts.conf:



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]Listen 81
[*]
[*]NameVirtualHost 127.0.0.1:81
[*]
[*]
[*]    ServerName localhost:81
[*]      
[*]      SetHandler python-program
[*]      PythonPath "['c:/python25'] + sys.path"
[*]      PythonHandler django.core.handlers.modpython
[*]      SetEnv DJANGO_SETTINGS_MODULE myproj.settings
[*]    PythonInterpreter mysite
[*]      PythonAutoReload Off
[*]      PythonDebug On
[*]   
[*]
  
  注:80为web端口,81为新端口 pythonpath=c:/python25
  
  配置好后可以在http://localhost:81 访问Django的站点目录。
  
  8、Django admin设置
  (1) 创建admin.py在项目myproj下



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]from django.contrib import admin
[*]from more_with_admin.examples import models
[*]
[*]class DocumentAdmin(admin.ModelAdmin):
[*]    pass
[*]
[*]class CommentAdmin(admin.ModelAdmin):
[*]    pass
[*]
[*]admin.site.register(models.Document, DocumentAdmin)
[*]admin.site.register(models.Comment, CommentAdmin)
  
  (2) 在seettings中的INSTALLED_APPS 添加
  'django.contrib.admin', (3) 在urls中添加
  from django.contrib import admin admin.autodiscover() 与
  (r'^admin/(.*)', admin.site.root),
  
  运行python manage.py sqlall admin
  (4) 运行 python manage.py runserver,将会出现以下信息



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]Validating models...
[*]0 errors found.
[*]
[*]Django version 0.96-pre, using settings 'mysite.settings'   
[*]Development server is running at http://127.0.0.1:8000/   
[*]Quit the server with CONTROL-C.
[*]现在你可以访问http://127.0.0.1:8000/admin/,登录
  
  9、Django 数据库设置
  创建db.py



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]#coding=utf-8
[*]#import os   
[*]#os.environ['DJANGO_SETTINGS_MODULE'] = 'myproj.settings'   
[*]
[*]from django.conf import settings
[*]settings.configure(
[*]      DATABASE_ENGINE='mysql',   
[*]      DATABASE_NAME='django_demo',   
[*]      DATABASE_USER='root',   
[*]      DATABASE_PASSWORD='',   
[*]      DATABASE_HOST='localhost',   
[*]      DATABASE_PORT='',   
[*]    )
  
  load_db_py



view plaincopy
http://static.blog.iyunv.com/scripts/ZeroClipboard/ZeroClipboard.swf
[*]import db
[*]from django.db import connection
[*]cursor = connection.cursor ()
[*]cursor.execute ("SELECT VERSION()")
[*]row = cursor.fetchone ()
[*]print "server version:", row
[*]
[*]cursor.execute ("SELECT * from django_site")
[*]row1 = cursor.fetchall ()
[*]
[*]print row1
[*]
[*]cursor.close ()
[*]connection.close ()
  
  
  如果出现结果,说明数据库读取成功。
页: [1]
查看完整版本: python+Django+apache的配置