我在WindowsXP(win32)上使用python 2.7.2,Django 1.3.1,Apache 2.2.22。通过我发现here的文档,我逐步完成了,但是当给出目录部分时
`Alias /media/ C:/Programs/TestDjango/mysite/media/
<Directory C:/Programs/TestDjango/mysite/media/>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi
<Directory C:/Programs/TestDjango/mysite/apache>
Order deny,allow
Allow from all
</Directory>`
并重新启动Apache,在打开localhost / mysite时出现Microsoft Visual C ++库运行时错误,并且Apache错误日志显示“渲染时捕获不正确的配置:加载pyodbc模块时出错:DLL加载失败:动态链接库(DLL) )初始化例程失败。“....我的Django应用程序在WAMP中运行,但希望知道我单独使用Apache2.2.22出错了。遵循了许多Django文档,但仍然是相同的,请帮我找到我哪里出错了。感谢
(认同由guettli确定)
答案 0 :(得分:3)
我得到了解决,这是版本问题,因为我使用Apache 2.2.21而不是Apache 2.2.22,它的工作。我按照link中的步骤进行操作。
安装Python 2.7.2,Django 1.3.1和Apache2.2.21 安装modwsgi模块。
模块文件的名称类似于mod_wsgi-win32-ap22py26-2.6.so get mod_wsgi。
将其复制到Apache安装的modules目录。例如,C:/ Program Files / Apache Software Foundation / Apache2.2 / modules。
将其重命名为mod_wsgi.so。右键单击 - &gt;属性单击取消阻止并应用
打开Apache的http.conf文件。
在所有其他LoadModule条目之前添加LoadModule wsgi_module modules / mod_wsgi.so行。
通过在http.conf结尾添加以下内容为Django项目配置Apache:
# Static content
Alias /media/ C:/Programs/TestDjango/mysite/media/
<Directory C:/Programs/TestDjango/mysite/media/>
Order deny,allow
Allow from all
</Directory>
# Django dynamic content
WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi
<Directory C:/Programs/TestDjango/mysite/apache>
Order deny,allow
Allow from all
</Directory>`
icardtest是Django项目的根目录。 icardtest以下的路径将特定于您的项目。此配置通过URL空间/ media /以及其余所有静态媒体通过WSGI和Django提供服务。 创建一个文件django.wsgi并添加以下内容:
` import os
import sys
sys.path.append('C:/Programs/TestDjango')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()`
重启Apache。
答案 1 :(得分:0)
您的错误与您的python设置有关,而不是Apache。
Error loading pyodbc module: DLL load failed: A dynamic link library (DLL) initialization routine failed.
这意味着您与Apache一起使用的Python无法加载pyodbc
模块。修复此错误后,即可继续。