2015-03-02 103 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