curl --header "Authorization: Token d91b1d68292ce1f7fd7af7f2ce916288f8bd5dc9" <https://owlbot.info/api/v4/dictionary/owl> -s | json_pp
@app.route('/detail/<keyword>')
def detail(keyword):
# API에서 단어 뜻 찾아서 결과 보내기
r = requests.get(f"<https://owlbot.info/api/v4/dictionary/{keyword}>",
headers={"Authorization": "Token d91b1d68292ce1f7fd7af7f2ce916288f8bd5dc9"})
result = r.json()
print(result)
return render_template("detail.html", word=keyword, result=result)
<div class="container">
<div class="d-flex justify-content-between align-items-end">
<div>
<h1 id="word" style="display: inline;">{{ result['word'] }}</h1>
{% if result['pronunciation'] != None %}
<h5 id="pronunciation" style="display: inline;">/{{ result['pronunciation'] }}/</h5>
{% endif %}
</div>
<button id="btn-save" class="btn btn-outline-sparta btn-lg"><i class="fa fa-floppy-o" aria-hidden="true"></i></button>
<button id="btn-delete" class="btn btn-sparta btn-lg"><i class="fa fa-trash-o" aria-hidden="true"></i></button>
</div>
<hr>
<div id="definitions">
{% for definition in result['definitions'] %}
<div style="padding:10px">
<i>{{ definition['type'] }}</i>
<br>{{ definition['definition'].encode('ascii', 'ignore').decode('utf-8') }}<br>
{% if definition['example'] != None %}
<span class="example">{{ definition['example'].encode('ascii', 'ignore').decode('utf-8')|safe }}</span>
<!-- |safe: if html, print all -->
<!-- .encode('ascii', 'ignore').decode('utf-8'): convert to ascii, if not, do not print -->
{% endif %}
</div>
{% endfor %}
</div>
</div>
|safe: if html, print all
.encode('ascii', 'ignore').decode('utf-8'): convert to ascii, if not, do not print
있는 단어인지, 없는 단어인지 먼저 확인하고, status를 new 또는 old로 전달
@app.route('/detail/<keyword>')
def detail(keyword):
status_receive = request.args.get("status_give")
# API에서 단어 뜻 찾아서 결과 보내기
r = requests.get(f"<https://owlbot.info/api/v4/dictionary/{keyword}>",
headers={"Authorization": "Token d91b1d68292ce1f7fd7af7f2ce916288f8bd5dc9"})
result = r.json()
print(result)
return render_template("detail.html", word=keyword, result=result, status=status_receive)