2016-06-08 67 views
0

我有一個參考對象的其他名稱的對象保存數據庫事務在兩個字符串之間卸下串Django模板

所以當我生成HTML頁面它打印出像這樣(u'aRandomModel253', 0) <字符串----那就是確切的字符串,現在打印我需要從該字符串中獲得'aRandomModel253',以便我可以像這樣組織我的網頁<li><a href="/webapp/model/{{ aRandomModel253 }}">{{ aRandomModel253 }}</a></li>

我想在此模板中預製此邏輯,如果可能,我不想改變對象是組織的,它需要很長時間才能按照我想要的方式組織它。

+0

如果它是一個元組,你可以在模板代碼中使用索引。索引到模板中的元組或列表的語法如下所示:'{{aRandomModel253.0}}'獲取第一個項目。 –

+0

@HåkenLid保存元組字符串的模型: –

+0

您可以使用'(name,number)= ast.literal_eval(「(u'aRandomModel253',0)」)'將字符串轉換回元組,然後再將它傳遞給模板。 –

回答

0

您可以使用字符串拼接。如果你想要的東西總是在單引號,你可以使用str.find()

例:

String = "(u'aRandomModel253', 0)" 

ModifiedString = [String.find("'"):String[String.find("'"):].find("'")] 

這從拼接的'中第一次出現的字符第二'之前的字符串。如果您需要更多解釋,請詢問。

0

在模板中使用的自定義標籤過濾https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/

from django import template 

register = template.Library() 

@register.filter 
def number_and(value): 
    return find_between(value,"'","'") 



def find_between(s, first, last): 
    try: 
     start = s.index(first) + len(first) 
     end = s.index(last, start) 
     return s[start:end] 
    except ValueError: 
     return "" 

然後

{% load number_and %} 
<html>{{model|number_and}}</html> 
0

看起來喜歡你的對象是一個元組。如果沒有,那麼它可能有一些其他.name財產或東西(如果沒有,你應該能夠將其添加):

<div>{{ model.0 }}</div> 
相關問題