Как обновить фильтр django до django 1.2 с помощью GAE - PullRequest
0 голосов
/ 03 марта 2011

Привет, я получил следующий фильтр, который работал с django 0.96 (GAE) и генерирует код ошибки в макете с помощью GAE + django 1.2.Теперь я хочу обновить фильтр, чтобы он работал с django 1.2.Если вы предоставите любую информацию, пожалуйста, сделайте это.

Фильтр:

def news(n):
    url = os.environ.get('HTTP_HOST') if os.environ.get('HTTP_HOST') else os.environ['SERVER_NAME']
    tld = url[url.rfind('.'):]    
    try:        
        if url == 'localhost:8080' or url.endswith('alltfunkar.com'):
            result = urlfetch.fetch('http://news.google.se/?output=rss')    
        elif tld != '.com' and tld != '.se' and tld != '.cl' :
            result = urlfetch.fetch('http://news.google.com'+tld+'/?output=rss') 
        else:        
        #result = urlfetch.fetch('http://news.google'+tld+'/?output=rss')
            result = urlfetch.fetch('http://news.google.com/?output=rss')        
        if result.status_code == 200:
            dom = minidom.parseString(result.content)
            item_node = dom.getElementsByTagName("item")
            try:
                random_1=random.choice(item_node)
                rss1_link = random_1.childNodes[1].firstChild.data
                rss1_text = random_1.childNodes[0].firstChild.data
                return '<a href="'+rss1_link+'">'+rss1_text+'</a>'
            except IndexError,e:
                return ''
    except urlfetch.Error, e:
        pass

register.filter(news)

Использование шаблона

{{a|news|fix_ampersands|truncatewords_html:8}

Решено и сделано с помощью здесь!Большое спасибо: enter image description here

1 Ответ

2 голосов
/ 03 марта 2011

Конечно, это помогло бы, если бы вы точно указали, что «ошибочно» в выводе, который вы получаете.

Мой думаю, в том, что он автоматически экранирован, как вы бы это сделализнать, если вы прочитали руководство по обновлению с 0,96 до 1,0.Пометить вывод как безопасный:

from django.utils.safestring import mark_safe
...
return mark_safe('<a href="'+rss1_link+'">'+rss1_text+'</a>')

или, более Pythonically:

return mark_safe('<a href="%s">%s</a>' % (rss1_link, rss2_text))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...