2

我是新开发的,所以请耐心等待:)

我决定用 jetstrap(bootstrap 的视觉设计器)设计我的网站,下载 html,然后用 python 编程后端并将其上传到谷歌应用程序引擎。

当我从 jetstrap 下载文件时,我有一个包含我的 html 的文件夹和一个名为 assets 的文件夹,里面有 3 个文件夹。CSS,图像,js。

如果我用浏览器打开 html,我可以看到我设计的网站。但是如果我用 python 渲染它并在 localhost 上打开它,我会看到它没有任何 css。

我尝试将文件夹添加到 app.yamal

application: web-development-test
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /templates/assets
  static_dir: stylesheet


- url: .*
  script: main.app

libraries:
- name: jinja2
  version: latest

模板是我的应用程序目录上的文件夹,其中包含我所有的 html 和资产,该文件夹包含 css、js 和图像。

来自 jetstrap 的 html 的一部分是:

<link href="assets/css/bootstrap.css" rel="stylesheet">
    <style>
      body { padding-top: 60px; /* 60px to make the container go all the way
      to the bottom of the topbar */ }
    </style>

我在那里看到了 rel=stylesheet,这就是为什么我在 app.yamal 上添加 static_dir: stylesheet

我所做的几乎所有事情都来自在线教程。

先感谢您!

编辑:我的应用程序文件夹的整个结构

google project
    app.yaml
    favicon.ico
    index.yaml
    main.py
    templates
        page1.html
        page2.html
        assets
           css
           img
           js
4

3 回答 3

2

app.yaml 中的第一个处理程序表示“使目录样式表(可在应用根目录中找到)在 URL 路径 /templates/assets 中可用。” 这可能与您想要的相反。试试这个处理程序:

- url: /assets
  static_dir: templates/assets

例如,这将使http://localhost:8090/assets/css/bootstrap.css文件返回templates/assets/css/bootstrap.css. 假设 page1.html 以//page1类似的方式提供服务,那应该可以满足您的需求。

于 2013-03-15T00:49:46.330 回答
2

处理程序的顺序可能会导致问题:

url: /stylesheets static_dir: 样式表 url: /.* 脚本: helloworld.application

将工作而不是

url: /.* 脚本: helloworld.application url: /stylesheets static_dir: 样式表

于 2014-10-09T16:32:54.257 回答
1

我有同样的问题。我遵循了后者的所有内容,甚至是 app.yaml 文件中的缩进错误,如此处所示。我修复了缩进,就是这样。

于 2013-10-14T09:01:36.413 回答