尝试安装django在apache下(windows安装)

内容引用了如下链接。
http://hideto.iteye.com/blog/42538

首先看上面的网站,
然后,要点是:

apache安装很简单。
安装python,好像只能装python2.5,因为装了2.6没有对应的mod_python.

然后装mod_python,windows下是一个exe文件,附件中有。

然后执行这个文件,很简单。

配置apache
LoadModule python_module modules/mod_python.so

<VirtualHost *:80>
          
          DocumentRoot D:/py
          <Directory D:/py>
              AllowOverride All
              Order allow,deny
              Allow from all
          </Directory>

    <Location "/myproj">
        SetHandler python-program
        PythonPath "['D:/py'] + sys.path"
        PythonHandler django.core.handlers.modpython
        SetEnv DJANGO_SETTINGS_MODULE myproj.settings
        PythonAutoReload Off
        PythonDebug On
    </Location>

</VirtualHost>

MaxRequestsPerChild 1

把上面一段话加在httpd.conf的最后。

这里有一些假定:文档根目录是d:/py,然后把django的项目放到了myproj下,这样来实现多语言并存,可以把php文件放到根目录下即可。

然后安装diango,这是最简单的,到官网下载来 http://www.djangoproject.com/download/

放到任意目录,然后用7z之类的解压软件解开,然后进入windows的cmd,
cd 那个目录
python setup.py install


会执行一些复制的操作,屏幕上有显示,就算安装好了。


然后,假如工作目录为D:\py,cmd切换到该目录运行

python d:\python25\scripts\django-admin.py startproject myproj

最后一个参数既是包名,又是django的项目名称

在D:\py\myproj下新建helloworld.py:
from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello, Django!')


修改urls.py:
from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^myproj/', 'myproj.helloworld.index'),
)


启动apache,然后,
http://localhost/myproj/

正确情况下,出现了期待已久的hello,world!

============================================================

继续:
mysql,

首先到mysql官网下一个比较新的 mysql5,并安装,记住用户名和密码,

建立一个空的数据库djangodb

然后,附件中有一个与python2。5 和 mysql5对应的一个exe,傻瓜式安装。
安装完后,进入cmd,然后import MySQLdb
如果没有错误,则安装成功!!

修改django的配置文件settings.py中的几句话
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'djangodb',                      # Or path to database file if using sqlite3.
        'USER': 'root',                      # Not used with sqlite3.
        'PASSWORD': '1',                  # Not used with sqlite3.
        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}


库名是djangodb,需要手动自己先建立起来。


===============================

乱码问题:
遗憾的是:用manage.py生成出来的文件缺少了一行,所以需要手动加到py文件的头部
#-*- coding:utf-8 -*-


最好把这句话加到每个python的头部

==================================

以下内容是《Django Web 开发指南》书里面的内容。

建立应用:
cmd下,
python manage.py startapp blog
会建立blog应用。
修改里面的models.py
#-*- coding:utf-8 -*-

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()



cmd下,
python manage.py syncdb

正常情况下,会出现一堆create table提示。





你可能感兴趣的:(apache,mysql,windows,django,python)