我正在尝试做一些我认为在 mako 中必须是微不足道的事情,但我只是不知道应该如何进行,而且我发现文档毫无用处。我对 Python 和 DTL 非常熟悉,但我只是不明白为什么这段代码会引发语法错误。
基本上,我要做的就是接收一个数据对象(只是一个小字典),并根据请求的来源不同地生成一个链接。我知道在直接 python 中执行此操作并将其作为上下文传递是微不足道的,但我真的想热身到 mako。任何帮助将不胜感激。
<%def name="courseware_link(datum)">
% if courseware in ${request.url}:
<a href=${request.url}[:${request.url}.find("courseware")+len("courseware")+1]+datum["url"]>
% else:
<a href=${request.host}+"/courses/"+datum["org"]+"/"+datum["course_ids"]+"/#/courseware/"+datum["url"]
% endif
</%def>
更具体地说,语法错误是这样的:
(SyntaxError) invalid syntax (<unknown>, line 1) (u'if courseware in ${request.url}:pass') in file '/file' at line: 70 char: 1
第 70 行是第二行% if courseware...