2015-03-02 90 views
1

我花了一個半小時閱讀關於此問題的其他文章,但仍未解決。我相信該文件位於正確的位置,文件路徑參考是適當的。我在本地測試我的Web應用程序,嘗試對它進行一些設置,而Chrome開發工具則說這個CSS文件無法找到。我正在使用Python,Google App Engine和Jinja2。 Check out the error爲你自​​己,如果你想。預先感謝您的時間和專業知識!在chrome開發工具中找不到404錯誤CSS文件

這是我的HTML文件。第二個從第一個繼承。

base.html文件

​​3210

front.html

{% extends "base.html" %} 

{% block content %} 

    <br> 
    <br> 
    <a href="/dochore">Do Chore</a> 
    &nbsp; 
    <a href="/addchore"> + Add Chore</a> 
    &nbsp; 
    <a href="/removechore"> - Remove Chore</a> 
    &nbsp; 
    <a href="/choredetail">Chore Details</a> 
    <br> 
    <br> 
    <br> 

    {% for chore in chores %} 
    {{ chore.render() | safe }} 
    <br><br> 
    {% endfor %} 

{% endblock %} 

我的項目目錄的結構類似於...

project-name/ 
    main.py 
    templates/ 
    HTML files 
    static/ 
    style.css 

這裏是我的app.yaml。 ..

application: chorestimemadison 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: yes 

handlers: 
- url: /favicon\.ico 
    static_files: favicon.ico 
    upload: favicon\.ico 

- url: .* 
    script: main.app 

libraries: 
- name: webapp2 
    version: "2.5.2" 
- name: jinja2 
    version: latest 
+0

你能發佈你的app.yaml處理程序嗎?在我看來,靜態目錄可能沒有正確設置。 – 2015-03-02 22:27:03

+0

後續問題將一些細節添加到我的答案中:您使用的是Apache,nginx還是IIS? – 2015-03-02 22:31:08

+0

@JoshuaWhitley我沒有使用你剛纔提到的三種技術中的任何一種。 – JulianDavid 2015-03-02 22:34:30

回答

1

你缺少的處理程序靜態目錄:

handlers: 
- url: /favicon\.ico 
    static_files: favicon.ico 
    upload: favicon\.ico 
- url: /static 
    static_dir: static 
- url: .* 
    script: main.app 

Learn more about why this is necessary.

+0

我認爲這可以解決它,但它沒有:( – JulianDavid 2015-03-02 22:56:09

+0

然後還有一些其他的問題,這對你來說是相當早的開發,所以爲什麼不嘗試一步一步的做[鏈接]教程,應該只花幾分鐘,最後你會有一切正常安裝:) – 2015-03-02 23:01:39

+0

釘牢它!顯然,順序很重要,因爲我有我的app.yaml中的主要網址後列出的靜態URL,它沒有工作,但一旦我切換它有靜態的第一個,它工作。非常感謝。 – JulianDavid 2015-03-02 23:04:45

0

我打賭你對目錄訪問存在問題。如果您的HTML文件位於模板文件夾下,並且您的模板文件夾位置爲http://chorestimemadison.appspot.com/,那麼無論您使用何種URL,HTML文件都無法訪問靜態文件夾(或其中的CSS文件),因爲它們不是Web服務器的目錄結構。

你必須要麼:

  1. 移動靜態文件夾放到模板文件夾。
  2. 將Web服務器的根目錄更改爲項目名稱而不是模板,並將對style.css的引用更改爲../static/style.css
0

當你的CSS和HTML文件在文件夾相同常需要首先後退1個目錄與「../」,然後輸入你的CSS路徑,像這樣

<link rel="stylesheet" href="../static/style.css" type="text/css" /> 

您所輸入的方式,它是尋找模板/靜態你的CSS,因爲tempalates是當前文件夾(其中HTML執行)

+0

他無法升級,因爲所提供的html文件位於其虛擬目錄結構的根目錄。詳情請參閱我的回答。 – 2015-03-02 22:30:03

+0

這不是屋頂,因爲屋頂是項目名稱,模板和靜態都是子目錄 – Luchiro 2015-03-02 22:34:56

+0

伊萬,我已經試過了,不幸的是它沒有工作:( – JulianDavid 2015-03-02 22:36:10