【问题标题】:GAE appends current url to css path thus causing 404 on filesGAE 将当前 url 附加到 css 路径,从而导致文件 404
【发布时间】:2015-05-06 20:50:35
【问题描述】:

这是添加 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 %}

引用 CSS 的基础 HTML:

 <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 的。
  • 我已经编辑了问题@DanielRoseman

标签: google-app-engine routes google-app-engine-python


【解决方案1】:

为您的 CSS 使用绝对路径:

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

【讨论】:

  • 对。浏览器正在从部分 href 而非 GAE 构建整个 URL。
  • 不敢相信这么简单
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 2014-04-30
  • 1970-01-01
  • 2021-04-22
  • 2015-02-04
  • 2019-05-30
相关资源
最近更新 更多