Django,wsgi,apache,Windows中的MySQL设置/配置

时间:2014-11-12 19:56:22

标签: python django windows apache

Python / Django新手请求帮助在Windows中配置Django,wsgi,MySQL和apache。如果之前已经回答了这个问题(尝试搜索,并且是为了设置linux),那就道歉了。

我正在使用Django 1.7,Python 3.4.1,Apache 2.2进行设置。

我遵循了Django文档,并且能够使用配置了MySQL的Polls应用程序。我试图将应用程序移植到使用apache而不是Python Web服务器并遇到问题。

我在Apache error.log文件中收到以下错误

 [error] [client 127.0.0.1]   File "C:\\Python34\\lib\\site-packages\\django-1.7.1-py3.4.egg\\django\\db\\backends\\mysql\\base.py", line 17, in <module>\r
 [client 127.0.0.1]     raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)\r
 [error] [client 127.0.0.1] django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'\r

我的设置文件如下:

wsgi.py(尝试修改默认文件)

import django
from django.core.handlers.wsgi import WSGIHandler
def get_wsgi_application():
    """
    The public interface to Django's WSGI support. Should return a WSGI
    callable.
    Allows us to avoid making django.core.handlers.WSGIHandler public API, in
    case the internal WSGI implementation changes or moves in the future.
    """
    # For PyMySQL
    try:
        import pymysql
        pymysql.install_as_MySQLdb()
    except ImportError:
        pass
    django.setup()
    return WSGIHandler()

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!111'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]


import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

的httpd.conf

WSGIScriptAlias /mysite C:/Python34/mysite/mysite/wsgi.py
WSGIPythonPath C:/Python34/mysite

<Directory C:/Python34/mysite/mysite>
Allow from all
</Directory>

我确信我错过了一些简单的事情。再次感谢。


答复:

感谢您的回复。原始的wsgi文件如下:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

但是我想使用MySQL DB,我该如何配置呢?

当我使用默认的python webserver时,我在manage.py中使用了以下部分

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except ImportError:
    pass

我可以用任何其他文件让我的应用程序使用MySQL吗?

感谢。

0 个答案:

没有答案