Таким образом, я могу получить следующий код для правильного отображения oembed:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4 /jquery.min.js"></script>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script type='text/javascript'>
$(document).ready(function(){
$.getJSON("https://api.twitter.com/1/statuses/oembed.json?id=287348974577385474&align=center&callback=?",
function(data){$('#tweet123').html(data.html);});
});
</script>
</head>
<body>
<div id='tweet123'></div>
</body>
</html>
Однако этот код отображает только текст твита:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</head>
<body>
<div class='progress-wrapper'>
<div id='progress-bar' class='progress-bar' style="background-color: #68a9ef; width: 0%;"> </div>
</div>
<div id="progress-bar-message">Waiting for progress to start...</div>
<script src="{% static 'celery_progress/celery_progress.js' %}"></script>
// vanilla JS version
<script>
document.addEventListener("DOMContentLoaded", function () {
var progressUrl = "{% url 'celery_progress:task_status' task_id %}";
CeleryProgressBar.initProgressBar(progressUrl);
});
</script>
<div id="celery-result"> {{ result }} </div>
</body>
</html>
Это в моем tasks.py
tweet = random.choice(result)
tweet_id = str(tweet.id)
embReqUrl = 'https://publish.twitter.com/oembed?url=https://twitter.$
embResp = requests.get(embReqUrl)
json = embResp.json()
html = json['html']
pprint(html)
return html
Это в моем views.py
:
def progress_view(request):
count_pag = 200
print(request.POST.get('account_name'))
account_name = request.POST.get('account_name')
result = hello.tasks.my_task.delay(8, account_name)
# pprint(result)
if(result is None):
result = "No tweets available."
# result = hello.tasks.my_task.delay(8)
# context = {'task_id': result.task_id}
return render(request, 'display_progress.html', {'task_id': result.task_id, 'result': result})
# return HttpResponse(request.POST.items())
pprint(str(result))
Я пытался найти различные решения этой проблемы, но, похоже, ни один из них не работает! Ваша помощь очень ценится.