Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » настроил apache + wsgi, как сделать импорт в скрипте [RSS Feed]

#1 Ноя. 11, 2009 22:08:23

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

настроил apache + wsgi, как сделать импорт в скрипте

настроил apache + wsgi по это статье: http://ubuntuforums.org/showthread.php?t=833766

сделал скрипт (index.wsgi):

def application(environ, start_response):
status = '200 OK'
output = 'Hello world!!!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output]
все работает

как имопртировать свои файлы и куда их нужно положить?:
import mylib
если я ложу mylib.py рядом с index.wsgi то ничегоне работает

ЗЫ: откуда апач знает что скрипт wsgi на питоне написан? или wsgi фича только питоновская?

Отредактировано (Ноя. 11, 2009 22:09:33)

Офлайн

#2 Ноя. 12, 2009 00:40:26

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

настроил apache + wsgi, как сделать импорт в скрипте

в index.wsgi перед импортом своих модулей нужно добавить строки:

import sys
import os

# путь к корневой директории
path = os.path.dirname(__file__)
# добавляем его в список путей, где Python будет искать модули
sys.path.append(path)
# делаем корневую директорию "текущей". На импорт питоновских модулей не влияет,
# а вот пути к файлам теперь можно писать относительные - типа open('templates/page.tpl')
# или sqlite3.connect('db/users.db')
os.chdir(path)



Офлайн

#3 Ноя. 12, 2009 16:27:25

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

настроил apache + wsgi, как сделать импорт в скрипте

dimabest
в index.wsgi перед импортом своих модулей нужно добавить строки:
текущий путь в sys.path добавлется, но все равно не работает, вот мой код:
index.wsgi
# coding: utf-8

import sys
import os

path = os.path.dirname(__file__)
sys.path.append(path)
os.chdir(path)

import pagemake

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

response_headers = [('Content-type', 'text/html; charset=utf-8'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output]
pagemake.py
def page()
return 'page index'
пробовал делать пакетом pagemake/__init__ , тоже неробит

что делать?

Офлайн

#4 Ноя. 12, 2009 17:23:31

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

настроил apache + wsgi, как сделать импорт в скрипте

если pagemake.py лежит рядом с index.wsgi, то:

import pagemake
если в папке, например lib, то:
1. в папке создаем модуль __init__.py
2. импортируем из пакета
from lib import pagemake
Если не работает заходим в папку с установленным Apache, и смотрим лог ошибок ‘logs/error.log’



Офлайн

#5 Ноя. 12, 2009 17:46:10

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

настроил apache + wsgi, как сделать импорт в скрипте

dimabest, спасибо.

оказывается просто была ошибка в pagemake.py, двоеточие забыл поставить :)

o7412369815963
pagemake.py
def page()
return 'page index'

Офлайн

  • Начало
  • » Web
  • » настроил apache + wsgi, как сделать импорт в скрипте[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version