Django windows安装配置文档
本文只做备份,有兴趣的朋友可以查阅原文 : http://isun.blog.sohu.com/88570908.html
一、软件准备:
1.1 python-2.5.1.msi
1.2 apache_2.2.8-win32-x86-no_ssl.msi
1.3 Django-0.96.1.tar.gz
1.4 mod_python-3.3.1.win32-py2.5-Apache2.2.exe
1.5 MySQL-python-1.2.2.win32-py2.5.exe
二、安装步骤:
2.1 安装python(运行python-2.5.1.msi即可,完成以后,设置环境变量)
2.2 mysql-python(运行MySQL-python-1.2.2.win32-py2.5.exe即可)
2.3 安装apache(运行apache_2.2.8-win32-x86-no_ssl.msi)
2.4 安装apache的module:mod_python(运行mod_python-3.3.1.win32-py2.5-Apache2.2.exe,安装最后完成阶段,会提示让选择apache的路径,选择2.4中apache的安装路径即可)
2.5 安装django
2.5.1 解压缩两次,得到文件夹Django-0.96.1。 把这个文件夹放到你的开发目录下,建议不要放在桌面,最好放在D:\Dev\之类的目录下,注意最好是英文,而且文件夹名不要有空格。
2.5.2在命令提示符下进入该目录,输入:cd D:\Dev\Django-0.96.1
再输入命令:python setup.py install
(这时屏幕会滚动显示一大堆东西,不要管它了,你也看不清)
OK了。
2.5.3先简单的测试一下。
命令提示符下,输入:python
然后输入import django
然后输入django.VERSION
我看到的是这样的:
>>> import django
>>> django.VERSION (0, 96.099999999999994, None)
>>>
2.5.4 设置环境变量(将 ../ python2.5.1\Lib\site-packages\django\bin加入path的环境变量中)
2.6 创建django project并测试
C:\django_src>cd \
C:\>mkdir django
C:\>cd django
C:\django>django-admin.py startproject myproject
C:\django>cd myproject
创建完成以后,打开settings.py文件,设置数据库(建议设置成mysql,2.2已经安装了python的mysql驱动,可以使用mysql)
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'django_demo' # Or path to database file if using sqlite3.
DATABASE_USER = 'root' # Not used with sqlite3.
DATABASE_PASSWORD = 'root' # Not used with sqlite3.
DATABASE_HOST = '10.1.120.12' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
同步数据库:
在同步数据库前,需要先在mysql数据库中创建数据库 django_demo,否则无法执行数据库DDL
C:\django\myproject>python manage.py syncdb
启动django自带的server:
C:\django\myproject>python manage.py runserver
Validating models...
0 errors found.
2.7 Enable mod_python handlers for Django
我们用Python django-admin.py startproject myproject
命令,在C盘的django目录下创建了一个Django项目myproject。我们把它引用的图片文件和css文件等静态资源都放在myproject文件夹下的media目录中。
此时,将myproject目录下的settings.py文件中的这三个参数修改一下,主要是为了从相对路径变成绝对路径:
修改的配置行
# Django settings for myproject project.
'''
将相对路径改为绝对路径。主要有:
MEDIA_ROOT
TEMPLATE_DIRS
STATIC_PATH
'''
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = 'c:/django/myproject'
STATIC_PATH = 'c:/django/myproject/media'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates".
# Always use forward slashes, even on Windows.
'c:/django/myproject/templates',
)
切记切记,一定要保证这三个参数是绝对路径。
4:
配置Apache的httpd.conf配置文件:
首先,在“Dynamic Shared Object (DSO) Support”的配置下增加一行
LoadModule python_module modules/mod_python.so
这个必须手动添加。
5:
我们列出此时Apache所需要的参数分别为:
项目名:myporject
试图访问的URL为:http://localhost:80/mysite/
静态资源文件的存放目录:c:/django/myproject/media
项目文件夹路径:c:/django/myproject
好了,此时你就应该在httpd.conf文件的最后附加这段配置,以便让Apache知道到哪里去定位myproject/settings.py文件:
增加的配置行
# mysite目录路径: c:/django/myproject,
# 但是对于PythonPath,必须设置成这个目录的上一级目录!
# this site url:http://localhost:80/mysite/
<Location "/mysite/">
SetHandler python-program
PythonPath "sys.path+['c:/django']"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myproject.settings
PythonInterpreter mysite
PythonDebug On
</Location>
对于上面的配置,Limodou注释道:“上面 PythonPath 主要是将 myproject的目录加入到 sys.path ,以便 Django 可以找到。需要使用绝对路径。
SetEvn 中设置的 DJANGO_SETTINGS_MODULE 就对应于你的 项目名.配置文件。因此为了能导入 项目名.配置文件,就需要前面的 PythonPath 的设置。
PythonDebug 和 PythonAutoReload 建议在生产时设为 Off 。”
为了让图片、css、script能够被Apache成功加载,还需要在httpd.conf最后附加这段配置:
增加的配置行
#Alias /site_media 是用来将 myproject的静态文件设置一个 URL 访问的别名。
Alias /site_media c:/django/myproject/media
<Location "/site_media/">
SetHandler None
</Location>
#Alias /media 是将 Django Admin 的静态文件设置一个 URL 的访问别名。
Alias /media c:/Django-0.95/django/contrib/admin/media
<Location "/media/">
SetHandler None
</Location>
#配置静态文件权限,让apache有权访问
<Directory "E:/program/python2.5.1/Lib/site-packages/django/contrib/admin/media">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#设置不缓存,这样修改python源代码以后,可以自己加载,正式发布的时候,这个要去掉
MaxRequestsPerChild 1
# file types we want to serve statically
# case insensative match
<LocationMatch "(?i)\.(jpg|gif|png|txt|ico|pdf|css|jpeg)$">
SetHandler None
</LocationMatch>
三、常见错误
3.1 常见错误现象1
关键词: client denied by server configuration。
表象: 访问了http://localhost:80/mysite/ 后,假如发现图片没有加载,或者css没有应用上,并且httpd.conf文件中Location的配置绝对路径肯定没错。
解释:
第一, 首先检查httpd.conf配置Alias的配置,
看看Alias设置的路径是否正确,
Alias /site_media c:/django/myproject/media
请保证您附加的这个路径肯定是你的图片或者css存放的路径。
其次,请检查您的django项目myproject目录下的settings.py,保证MEDIA_ROOT、STATIC_PATH、TEMPLATE_DIRS这三个参数指向的绝对路径正确无误。
最后,如果上面的参数都没错,却还是不行。那么请您检查Apache的日志文件
Apache2.2\logs\error.log
如果您发现有这样的错误提示:
错误日志
[Mon Nov 20 17:27:08 2006] [notice] Child 4172: Starting thread to listen on port 80.
[Mon Nov 20 17:27:08 2006] [error] [client 127.0.0.1] client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http://localhost:80/mysite/
那么说明是因为对这些资源文件的访问被拒绝了。
此时,请您浏览 http://localhost:80/site_media/css/global.css ,如果遇到了HTTP 403错误,就说明是权限问题。
此时,请到httpd.conf,增加如下配置来允许静态资源文件夹被访问:
增加的配置行
# 对需要访问的区域,可以增加正确的Directory块
# 否则会得到这样的错误:client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http:/ /localhost:80/mysite/
<Directory "c:/Django/myproject/media/">
Order Deny,Allow
Allow from all
</Directory>
重启Apache服务。
3.2 常见错误现象2
关键词: EnvironmentError: Could not import settings。
表象: 访问了http://localhost:80/mysite/ 后,直接页面报告如下错误:
页面错误输出
1. Mod_python error: “PythonHandler django.core.handlers.modpython”
Traceback (most recent call last):
File “C:\Python24\Lib\site-packages\mod_python\apache.py”, line 299, in HandlerDispatch
result = object(req)
File “c:\django_src\django\core\handlers\modpython.py”, line 163, in handler
return ModPythonHandler()(req)
File “c:\django_src\django\core\handlers\modpython.py”, line 125, in __call__
if settings.ENABLE_PSYCO:
File “c:\django_src\django\conf\__init__.py”, line 27, in __getattr__
self._import_settings()
File “c:\django_src\django\conf\__init__.py”, line 54, in _import_settings
self._target = Settings(settings_module)
File “c:\django_src\django\conf\__init__.py”, line 82, in __init__
raise EnvironmentError, “Could not import settings ‘%s’ (Is it on sys.path? Does it have syntax errors?): %s” % (self.SETTINGS_MODULE, e)
EnvironmentError: Could not import settings ‘myproject.settings’ (Is it on sys.path? Does it have syntax errors?): No module named myproject.settings
这是开始配置django+apache最容易遇到的问题,:D。
解释:
这是因为apache在系统目录下找不到myproject/settings.py文件。
首先检查PythonPath设置的路径是否正确:
PythonPath "sys.path+['c:/django']"
注意,这个'c:/django'路径实际是我们的项目路径c:/django/myproject的上一级目录!不要写错了。
增加的配置行
# mysite目录路径: c:/django/myproject,
# 但是对于PythonPath,必须设置成这个目录的上一级目录!
# this site url:http://localhost:80/mysite/
<Location "/mysite/">
SetHandler python-program
PythonPath "sys.path+['c:/django']"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myproject.settings
PythonInterpreter mysite
PythonDebug On
</Location>
3.2 常见错误3
在使用django里面使用sqlite数据库的时候,由于采用的是文件数据库,在启动apache的时候,由于apache的用户权限问题,导致无法正确加载数据库文件,在访问http://localhost:80/mysite/的时候,可能会报找不到session表的错误。
懒得折腾文件权限问题,直接将django的数据库改用mysql即可。
分享到:
相关推荐
总结来说,Windows下配置Django与Apache的集成涉及到安装必要的软件、配置Apache模块、创建虚拟主机以及编写wsgi.py文件。通过这个过程,你可以将Django应用部署到强大的Apache服务器上,为用户提供稳定的服务。
安装完成后,配置Apache的虚拟主机,将Django应用与mod_wsgi连接起来。在`httpd.conf`或新建的虚拟主机配置文件中添加以下内容: ```apacheconf WSGIScriptAlias / /path/to/your/django/project/wsgi.py ...
1. 首先,解压Apache和Django的文件,并按照Apache的文档进行安装。 2. 接着,安装mod_wsgi。对于Windows,通常需要将mod_wsgi的`.dll`文件放入Apache的`bin`目录,并将`.conf`文件添加到Apache的配置文件中。 3. ...
- 确保Apache、uWSGI和Django的配置文件正确无误,避免权限和路径问题。 8. **测试与调试**: - 启动Apache和uWSGI服务,访问配置的域名或IP+端口测试Web应用是否正常运行。 - 如遇到问题,检查日志文件,如...
接下来,在Apache的配置文件中,需要指定Django应用的具体位置以及相关媒体文件的访问权限。例如: ```apache # 在Apache_HOME/conf/extra下创建httpd-django.conf LoadModule python_module modules/mod_python.so...
- 创建 Apache 的自定义配置文件 `apache_django_wsgi.conf`,设置静态资源和 Django 应用的别名。 - 创建 `django.wsgi` 文件,用于处理来自 Apache 的请求并将它们传递给 Django 应用。 - 如果使用 virtualenv...
无论是Linux还是Windows,搭建Apache + Python + Django开发环境都需要关注几个关键点:Apache服务器的安装与配置、Python与Django的安装、Apache与Django之间的WSGI接口配置以及PYTHONPATH的正确设置。通过本文的...
在Windows环境中部署Django 2.0项目到Apache服务器,需要确保所有组件的兼容性和正确的配置。以下是详细的步骤和注意事项: **1. 系统环境** 基础环境为Windows 7 SP1 64位操作系统。这里选用的软件包括Apache 2.4...
本文详细介绍了如何在Windows环境下安装Apache和mod_python,并通过配置Apache虚拟主机实现了Django应用的部署。通过这种方式,可以更高效地开发和测试Django应用,并将其部署到生产环境中。这种方式不仅提高了开发...
- **安装Apache**:首先需要下载并安装Apache2.4的Windows版本,配置合适的端口和文档根目录。 - **安装Python与Django**:确保安装了对应版本的Python,并通过pip安装Django。 - **安装mod_wsgi**:通过pip安装...
标题 "django+apache+mod_wsgi.rar" 暗示了这个压缩包是关于使用Django框架与Apache web服务器结合,并通过mod_wsgi模块在Windows 64位平台上部署Python应用的配置。描述中提到的"python3.5+apache2.4vc14+mod_wsgi_...
本文档主要介绍如何在Windows 7操作系统上将Django应用部署至Apache Web Server。Django是一款基于Python的高级Web框架,它鼓励快速开发和清晰的设计。Apache则是全球最广泛使用的Web服务器软件之一。将这两者结合,...
虽然标题中提到了这个文件,但根据Django 1.3.1的官方文档,它并不直接与Django的安装相关,可能用于其他特定需求或提供额外的Python扩展。 安装完所有必要的组件后,你需要配置Django项目并创建一个虚拟环境(如果...
Windows、Apache、mod_...总之,配置Django在Windows上通过Apache和mod_python运行,需要仔细阅读官方文档,并注意版本兼容性、路径和权限设置等问题。只有在这些细节上做到位,才能确保Web应用程序能够顺利运行。
在Windows环境下,配置前端Nginx与后端多Apache服务器(使用Django WSGI)是一项常见的任务,特别是在部署大型Web应用时。这样的架构能够充分利用Nginx的静态资源处理能力,以及Apache对动态内容的高效处理。以下将...
8. **文件列表中的`Apache_mod_wsgi`**:这个文件可能包含Apache和mod_wsgi的安装文件,以及可能的配置示例和教程文档。解压后,按照文件说明进行安装和配置。 在Windows环境下部署Django项目,结合Apache和mod_...
我的版本 python3.6 + django1.11 + Apache2.4 1. 下载与安装Apache 选择对应电脑版本下载Apache2.4 https://www.apachelounge.com/download/ 下载完成后解压 进入文件夹 Apache24 目录下。 2. 配置Apache ...
最后一步是对Django项目的`wsgi.py`文件进行适当的配置,确保其能够被Apache正确加载。一个典型的`wsgi.py`文件示例如下: ```python import os from django.core.wsgi import get_wsgi_application os.environ....
**Django傻瓜式项目部署指南** ...如果在部署过程中遇到任何问题,如Apache无法启动或静态文件加载失败,可以检查配置文件、权限设置,以及确保所有依赖都已正确安装。记住,耐心和仔细的排查是解决问题的关键。
在Windows 10环境下部署这个项目,首先需要安装Python 3.6,接着通过pip安装Django和所有必要的依赖。然后,创建并配置Apache虚拟主机,确保其指向Django项目的根目录。设置好WSGI配置后,Apache就能启动并运行...