2017-11-07 10 views
0

私はAPIからデータを取得し、このデータをHTMLファイルに挿入するためにJinja2を使用するこの機能を持っています。私はこのデータを私のnewsletter.htmlに掲載し、電子メールで送信したいと思っています。送信スクリプトでJinja2はnewsletter.htmlで動作しません

# movie_finder.py 

movie_list = [] 
for item in now_playing['results']: 
    if genre_id in item['genre_ids']: 
     movie_list.append(item['original_title']) 

print movie_list 

# Create jinja2 environment 
try: 
    env = Environment(loader=PackageLoader('movie_finder', 'templates')) 
    template = env.get_template('newsletter.html') 
    rend = template.render(info=movie_list) 
    print "Templating successful" 
except: 
    print "Templating fail" 
    return "Templating fail" 



find_movies_with_genre(API_KEY, 878) 

神社でリストやテンプレートなどのデータを取得する:ここでenter image description here

は、いくつかの関連するスニペットです:すべては から離れて微この出来事を作品電子メール(それ以外の場合は正常に動作します)は、私は単純に行います:

from scifi_finder import find_movies_with_genre 

テンプレート:

<!-- Newsletter template by https://github.com/derekpunsalan/--> 
 

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
    <meta name="viewport" content="width=device-width"/> 
 

 
    <!-- For development, pass document through inliner --> 
 
    <link rel="stylesheet" href="css/simple.css"> 
 

 
    <style type="text/css">

出力print movie_list

[u'Thor: Ragnarok', u'Blade Runner 2049', u'War for the Planet of the Apes', u'Geostorm'] 
+0

質問にテンプレートファイルを含めてください。問題がある可能性があります。問題の完全な画像を取得するのに関連しています。 – bgse

答えて

1

render()を呼び出すときにあなたが正しく変数を渡していないが、ここにあなたがやっていることです。

template.render(info=movie_list) 
あなたは、変数 infoを渡している、まだあなたのテンプレートでは、あなたが movie_listに言及されている

{% for item in movie_list %} 
    {{ item[0] }} 
    {{ item[1] }} 
{% endfor %} 

これは動作しません、あなたは個人的に、私はこのようにそれを好む、あなたが渡している変数を参照する必要があります。

template.render(movie_list=movie_list) 

...とテンプレートで...

{% for item in movie_list %} 
    {{ item[0] }} 
    {{ item[1] }} 
{% endfor %} 

...あなたはすでにそれを持っているように。あなたは同様にあなたのテンプレートで...

{% for item in info %} 
    {{ item[0] }} 
    {{ item[1] }} 
{% endfor %} 

...使用して、それがあるとして、あなたの関数呼び出しを保つが、私は再び週間後にそれを読んだとき、個人的に私が第一の変形が少ない混乱見つけることができます。

+0

時間をとっていただきありがとうございます。残念ながら出力は同じです! –

+0

@ MartaP。あなたの質問に完全なテンプレートを含めることができますか?そして、あなたの 'print movie_list'ステートメントからの出力は? – bgse

関連する問題