0

我在 WindowsXP(win32) 上使用 python 2.7.2、Django 1.3.1、Apache 2.2.22。通过我在这里找到的文档,我一步一步地做了,但是当给出目录部分时

   `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 修复)

4

2 回答 2

3

我解决了,这是版本问题,因为我使用的是 Apache 2.2.21 而不是 Apache 2.2.22,它的工作原理。我按照此链接中的步骤操作。

安装 Python 2.7.2、Django 1.3.1 和 Apache2.2.21 安装 modwsgi 模块。

模块文件将被命名为 mod_wsgi-win32-ap22py26-2.6.so get mod_wsgi

将其复制到 Apache 安装的模块目录。例如,C:/Program Files/Apache Software Foundation/Apache2.2/modules。

将其重命名为 mod_wsgi.so。右键单击-> 属性单击取消阻止并应用

打开 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()`

重启阿帕奇。

于 2012-04-26T04:24:16.207 回答
0

您的错误与您的 python 设置有关,而不是 Apache。

Error loading pyodbc module: DLL load failed: A dynamic link library (DLL) initialization routine failed.

这意味着您与 Apache 一起使用的 Python 无法加载该pyodbc模块。修复此错误后,您可以继续。

于 2012-04-25T09:07:33.580 回答