2016-09-01 60 views
0

讓說的用戶可以訪問以下網址在Django,Django的TemplateSyntaxError組合模板標籤

someUrl/one 
someUrl/two 
someUrl/three 

一個,兩個,三個來自一個表,這樣我可以與ORM訪問它們,例如,表名時。數。我的問題是我怎麼寫他們在我的模板,我試着用

<source src="{% static "someUrl/"{{ tableName.number }} "%}"/> 

,但我得到一個TemplateSyntaxError。

Could not parse the remainder: 'someUrl/" {{ tableName.number }} "' from '" "someUrl/" {{ tableName.number }} "' 

如果我嘗試

<source src="{% static "someUrl/{{ tableName.number }}" "%}"/> 

我得到

Could not parse the remainder: 'audio/{{' from '" "audio/{{' 

什麼是做了正確的方法是什麼?

+0

有什麼錯誤訊息? – ozgur

+0

我更新錯誤信息 – djangog

回答

0

你不能在django模板中嵌套變量。試試這個

<source src='{% static "someUrl" %}/{{ tableName.number }}' /> 

或者,你可以使用add template filter

例子:

{% static 'someurl'|add:tableName.number %} 
+0

只是一個後續問題,有沒有什麼辦法剝離模板內的tableName.number像python的strip函數一樣,因爲我的tableName.number有一些前導字符,例如tableName.number = aaa/bbb/one我只需要'一個'? aaa/bbb/one來自FilePathField。 – djangog

+0

如果你正在做這樣的複雜事情,我會鼓勵你看看自定義的模板標籤。 – karthikr