apache2 mod_wsgi bottlepy NameError: имя 'os' не определено

Я пытаюсь использовать apache2 mod_wsgi для развертывания веб-приложения bottle.py.

Я выполнил приведенную ниже инструкцию:

http://bottlepy.org/docs/dev/deployment.html#apache-mod-wsgi

Добавил файл /var/www/yourapp/app.wsgi:

# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))

import bottle
# ... build or import your bottle application here ...
# Do NOT use bottle.run() with mod_wsgi
application = bottle.default_app()

Я добавил файл yourapp.py в / var / www / yourapp /:

from bottle import route, run, template

@route('/hello/:name')
def index(name='World'):
    return template('<b>Hello {{name}}</b>!', name=name)

Правильно ли я поступаю?

Я получаю ошибку Http 500 и обнаружил ошибку в журнале:

[Fri Feb 22 15:03:38 2013] [error] [client 192.168.0.104]     os.chdir(os.path.dirname(__file__))
[Fri Feb 22 15:03:38 2013] [error] [client 192.168.0.104] NameError: name 'os' is not defined
ke@dslds /var/log/apache2 $  NameError: name 'os' is not definedNameError: name 'os' is not defined

person Alvin    schedule 22.02.2013    source источник


Ответы (1)


Вам нужно import os в качестве первой строки в вашем первом файле (app.wsgi). Вы пытаетесь использовать модуль os, не импортировав его предварительно.

person jeffknupp    schedule 22.02.2013
comment
Я получил следующее: извините, запрошенный URL 'localhost / hello' вызвал ошибку: Not found: '/ hello' - person Alvin; 22.02.2013
comment
Это потому, что вы ожидаете /hello/:name и вводите только "/ привет" - person jeffknupp; 22.02.2013