설치 따르고 오기 사용자가 만든 클래스 : 아파치 WSGI와 함께 성공적으로WSGI -
class Blog:
#blogid is a str
def get_blog(self):
conn = sqlite3.connect(self.database)
c = conn.cursor()
# get the blog
c.execute('select * from blogs')
results = []
for row in c:
results.append(row)
c.close()
return results
처럼 보이는 Blog.py의
import sys
# Path of the directory where scripts directory is located.
sys.path.insert(0, 'C:\\Users\\xxx\\Documents\\Programming\\www\\scripts')
from Blog import Blog #Blog.py is a file in the scripts directory
def application(environ, start_response):
status = '200 OK'
output = ''
b = Blog()
for key in environ.keys():
output = output + str(key) + ' : ' + str(environ[key]) + '<br/>'
output = "Test: " + b.title + "<br/>" + b.text + "<br/>" + output
output = b.get_blog() + "<br/>" + output
response_headers = [('Content-type', 'text/html'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
관련 부분을 설정하고 노출 된 뼈 응용 프로그램에서 실행 아파치 오류 로그가 나를 준다 :
line 21, in application
output = b.get_blog() + "<br/>" + output
AttributeError: Blog instance has no attribute 'get_blog'
b.get_blog를 str DIR은 (b)) 나 준다 : [ '문서를', '가을 초기화하기', '모듈', 'get_data', '문자', '제목'상기 블로그 클래스의 이전 버전 인, 나는 한동안 wsgi 파일에 포함 시켰습니다. 나는 그것이 캐시 된 곳을 찾지 못한다. 또는 블로그 가져 오기에 의해 작성되지 않은 이유를 찾지 못한다. 왜냐하면 내가 가져 오기를 Blog를 가져 오기로 변경하고 Blog.Blog()로 인스턴스화하면 여전히 동일한 디렉토리 내용을 제공하기 때문이다.
C : \ Users \ xxx \ Documents \ Programming \ www \ scripts \ Blog.py – Bjorn
__file__ = C : \ Users \ xxx \ Documents \ Programming \ www \ scripts \ Blog.py ... 올바른 내용입니다. 통로. pyc 파일을 삭제하려고했으나 마침내 알아 냈습니다. wsgi 파일을 변경하면 Apache를 다시 시작해야합니다 ... 훌륭합니다. 끝내주는 모든 것을 고친다 (나는 많은 시간을 끝냈다 고 생각한 어떤 것) 모든 것을 고쳐 준다. 이제 나는 어리 석다. D – Bjorn