我目前正在GAE上托管我的网站。 它已经有一段时间没有更新,所以现在,我正在尝试刷新它:D
为了做到这一点,我尝试使用Python和WSGI,WebAPP2和Render.Template来使用MVC模型。
除了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 提前谢谢。
答案 0 :(得分:2)
template.render
只能替换您在path
参数(第一个参数)中指定的文件中的标记。您正在从静态目录中提供.css文件,因此不会发生令牌替换,因为该文件未通过该代码传递。
您可以在index.html文件中内嵌包含标记的CSS部分。
答案 1 :(得分:0)
我有我认为是同样的问题。我发现这个GAE documentation非常有帮助。简而言之,您需要进入app.yaml文件创建一个新的处理程序:
url: /foldername
static_dir: foldername
然后在你的链接标签中:
href="foldername/index.css"