2

我目前正在研究我在 GAE 上托管的网站。好久没有更新了,所以现在,我正在尝试刷新它:D

为了做到这一点,我尝试使用 MVC 模型,使用 Python 和 WSGI、WebAPP2 和 Render.Template。

一切正常,除了 CSS 部分。

事实上,我无法使用 GAE (django) 方法渲染我的 CSS 的某些部分。我的 Python 控制器正在调用 HTML 文件并正确地用 dict() 值替换变量。

但是现在,为了只能拥有有限数量的 CSS 文件,我正在尝试做同样的事情。

不幸的是,我不知道我应该如何调用 CSS 文件。

我目前像往常一样在我的 HTML 上调用我的 CSS:

<link rel="stylesheet" media="screen" type="text/css" href="/assets/css/struct/index.css">

并尝试动态呈现文件的这一部分:

header#navigation{
height:auto;
min-height:480px;
width:100%;
min-width:100%;
background-image:url('/assets/img/content/{{content_cat_name}}/cat_img.jpg');
background-repeat:no-repeat;
background-position: left top;
background-size:contain;
background-color:#efefef;
}

然后一切都由我的python代码调用,如下所示:

class URIHandler(webapp2.RequestHandler):
def get(self, subdomain, page):
    name = subdomain
    pattern = os.path.join(os.path.dirname(__file__), '../views' ,'index.html')        
    template_values = {
            'content_cat_name':name,
            'cat_menu_title':name,
            'cat_menu_text':name,
    }

    self.response.out.write(template.render(pattern, template_values))

所以,如果有人可以帮助我正确调用我的 CSS 并使用我的 python 脚本替换变量,我会非常高兴 :D 在此先感谢。

4

2 回答 2

2

template.render只能替换您在path参数(第一个参数)中指定的文件中的标记。您正在从静态目录中提供 .css 文件,因此不会发生令牌替换,因为该文件没有通过该代码传递。

您可以在 index.html 文件中内联包含标记的 CSS 部分。

于 2012-06-05T12:28:32.107 回答
0

我遇到了我认为同样的问题。我发现这个GAE 文档很有帮助。简而言之,您需要进入您的 app.yaml 文件创建一个新的处理程序:

url: /foldername
  static_dir: foldername

然后在您的链接标签中:

href="foldername/index.css"
于 2014-11-26T04:33:07.187 回答