Скрипт mod_wsgi WSGI для неструктурированной веб-разработки на Python - PullRequest
0 голосов
/ 30 ноября 2010

Большинство руководств, которые я видел для создания файла WSGI для использования с mod_wsgi, либо устанавливает его для Django, либо для Pylons. Однако я хотел бы создать файл wsgi, не настраивая его для какой-либо конкретной среды. Как мне это сделать. Ниже приведен код из скрипта wsgi для использования с Django:

import os, sys
sys.path.append('/home/user/dev')
sys.path.append('/home/user/dev/site1')
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Интеграция mod_wsgi от Google говорит, что мне нужно добавить следующий код в сценарий WSGI для наложения среды BASELINE (да, я использую базовый уровень и virtualenv для конкретного приложения):

import site
site.addsitedir('/usr/local/pythonenv/PYLONS-1/lib/python2.5/site-packages')

Как будет выглядеть мой сценарий WSGI, если я не использую его для какой-либо конкретной среды?

РЕДАКТИРОВАТЬ: Это для использования с сервером Apache

1 Ответ

3 голосов
/ 30 ноября 2010

Для простого приложения wsgi в PEP 333 :

def simple_app(environ, start_response):
    status = '200 OK'
    response_headers = [('Content-type', 'text/plain')]
    start_response(status, response_headers)
    return ['Hello world!\n']

application = simple_app

Другими словами, у вас нет для каких-либо настроек вообще.Вам просто нужно убедиться, что mod_wsgi может найти application объект, который соответствует wsgi в вашем модуле.

По соображениям безопасности вам действительно следует определить ваше приложение в другом модуле вне любых каталогов, опубликованных apache,и ограничьте код в вашем файле wsgi до минимума, необходимого для импорта этого модуля и связывания приложения wsgi с переменной application.

...