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行目は2行目% if courseware...