2010-04-21 39 views
1

我無法在使用Google App Engine(Python)創建的頁面中顯示圖像。無法在Google App Engine中顯示圖像(Python)

我的app.yaml文件有:

- url: /images 
    static_dir: images 

而且蟒蛇文件有:

self.response.out.write("""<img src = '/images/title.gif' />""") 

圖像仍沒有在頁面顯示。

感謝

+0

請問您的app.yaml中的那個位是否與'/images/title.gif'匹配,如'。*'? – geoffspear 2010-04-21 13:21:36

+0

是的。它做了。但即使當我改變訂單,它不起作用 – Milee 2010-04-29 01:04:44

回答

1

我會測試:

  1. 你看到http://yourapp.appspot.com/images/title.gif
  2. 您確定圖片文件夾位於您的應用程序根目錄中嗎?
  3. Title.gif是一個「工作」的圖像?

我會建議你使用一個靜態的文件夾來存儲您的子文件夾中組織靜態內容:

Root 
    static 
    images 
    stylesheets 
    javascripts 
    app.yaml 

和映射這樣的URL /圖像。

- url: /images 
    static_dir: static/images 
    mime_type: image/png 

mime_type: image/png是可選的;如果未指定,則文件的MIME類型將從文件的文件擴展名派生。

+0

不,他沒有。如果他的應用的根目錄中有一個名爲'images'的目錄,他列出的內容應該可以正常工作。 – 2010-04-21 10:42:22

+0

你說得對,謝謝尼克。 – systempuntoout 2010-04-21 13:17:59

+0

我有我的根目錄中的圖像文件夾。 根目錄 圖像0​​app.yaml – Milee 2010-04-29 01:05:46

0

在應用程序的根目錄中是否有一個名爲'images'的目錄?它包含什麼?如果你試圖直接獲取文件,你會得到什麼?

+0

images目錄位於我的根目錄中。它具有title.gif圖像。當我運行這個,頁面顯示,但圖像不。 我也無法直接訪問它,如 http://yourapp.appspot.com/images/title.gif – Milee 2010-04-29 01:07:22

+0

如果images目錄位於根目錄中,那麼問題很簡單:在app.yaml中重新指定是static/images,但它只是在'images'中。 – 2010-05-01 08:20:15

0

原因可能是系統之間的大/小寫差異。 Windows不是高/低敏感的,但Linux是。假設您的實際文件名是Title.GIF。如果在Windows計算機(本地計算機)上將其編寫爲title.gif,但在Linux服務器(Google App Server)上不起作用,則該模式起作用。

1

我遇到了類似的問題。解決方案最終非常簡單。你需要嘗試apphandler之前重新定位爲靜態目錄的URL處理程序main.app 這樣的:

處理程序:

  • 網址:/favicon\.ico static_files:favicon.ico上傳:favicon\.ico
  • 網址:/photos static_dir:photos
  • 網址:.*腳本:main.app

在我在Google上找到解決方案之前,這讓我生氣了45分鐘。

0

發生這種情況的一個可能的原因是,如果您不提供- url之間的空間並且您沒有重新啓動服務器。當時它將顯示404。如果您重新啓動服務器,則會在app.yaml中遇到錯誤。這是人們犯下的一個非常常見的錯誤。因爲你做的方式似乎應該可以正常工作。

相關問題