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">
这是追加 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">