Cherrypy, matplotlib 또는 일반적으로로드 이미지
-
05-07-2019 - |
문제
내가 무엇을 잘못하고 있는지 잘 모르겠습니다. 읽을 내용을 향해 지적 할 수 있다면 좋을 것입니다. 나는 첫 번째 체리 튜토리얼 "Hello World"를 가져갔습니다. 질문 1 : 파일이 어떻게 저장 될지 어떻게 알 수 있습니까? 파일을 실행중인 곳입니다. 질문 2 : 브라우저에서 이미지를 열거나보기로하는 것 같습니다. 브라우저에서 소스를 볼 때 전체 이미지 경로를 포함 할 때에도 모든 것이 제대로 보이지만 운이 좋지 않습니다. 내 문제가 길에 있다고 생각하지만 무슨 일이 일어나고 있는지 확실하지 않습니다.
도움을 주셔서 감사합니다 Vincent
import cherrypy
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
class HelloWorld:
def index(self):
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3])
fig.savefig('test.png')
return ''' <img src="test.png" width="640" height="480" border="0" /> '''
index.exposed = True
import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf')
if __name__ == '__main__':
cherrypy.quickstart(HelloWorld(), config=tutconf)
else:
cherrypy.tree.mount(HelloWorld(), config=tutconf)
해결책
아래는 나를 위해 일한 것들이 있지만 더 진행하기 전에 읽는 것이 좋습니다. 이 페이지 정적 컨텐츠를 포함하는 디렉토리를 구성하는 방법에 대해
질문 1 : 파일이 어떻게 저장 될지 어떻게 알 수 있습니까?
파일을 저장 해야하는 위치를 지시하면 파일을 찾는 과정이 더 쉬워 질 것입니다.
예를 들어, 이미지 파일을 Cherrypy 애플리케이션 디렉토리 내에서 "IMG"라는 하위 디렉토리에 저장할 수 있습니다.
fig.savefig('img/test.png') # note: *no* forward slash before "img"
그런 다음 다음과 같이 표시합니다.
return '<img src="/img/test.png" />' # note: forward slash before "img"
질문 2 : 브라우저에서 이미지를 열거 나보기에 [이미지를 열거 나 볼 수없는 것 같습니다.
다음은 체리 애플리케이션에 정적 이미지를 사용할 수 있도록 사용한 한 가지 방법입니다.
if __name__ == '__main__':
import os.path
currdir = os.path.dirname(os.path.abspath(__file__))
conf = {'/css/style.css':{'tools.staticfile.on':True,
'tools.staticfile.filename':os.path.join(currdir,'css','style.css')},
'/img':{'tools.staticdir.on':True,
'tools.staticdir.dir':os.path.join(currdir,'img')}}
cherrypy.quickstart(root, "/", config=conf)
제휴하지 않습니다 StackOverflow