GAE 将当前 url 附加到 css 路径,从而导致文件出现 404

GAE appends current url to css path thus causing 404 on files

这是追加 css 路径的路由:

  app = webapp2.WSGIApplication([
    ('/edit/([\d]+)'       ,  EditUserHandler),
], debug=True)

处理程序:

class EditUserHandler(BaseHandler):
    def get(self, user_id):
       user_key = ndb.Key('User',int(user_id))
       user = user_key.get()
       self.render( 'edit.html', user)

app.yaml:

- url: /css
  static_dir: builds/development/css

HTML(edit.html) 调用处理程序的地方:

{% extends "base.html" %}

{% block body %}
<a href="/edit/{{user.key.id()}}">edit</a>
{% endblock %}

Base HTML 其中 CSS 被引用:

 <link rel="stylesheet" href="css/main.css">

控制台,第一个是url生成的,另一个是错误的路径:

GET /edit/5908775487668224 HTTP/1.1 200 2917
GET /edit/css/main.css HTTP/1.1 404 154

正确的控制台响应应该是:

GET /css/main.css HTTP/1.1 304 -

问题:编辑被添加到路径 /edit/css/main.css HTTP/1.1"。所有 css 文件都被正确加载,唯一的 url 失败的地方是因为附加的 url 我刚才提到的。

可能是什么问题?

为您的 CSS 使用绝对路径:

<link rel="stylesheet" href="/css/main.css">