문제

내가 무엇을 잘못하고 있는지 잘 모르겠습니다. 읽을 내용을 향해 지적 할 수 있다면 좋을 것입니다. 나는 첫 번째 체리 튜토리얼 "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)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top