Попытка интегрировать онлайн-компилятор в мой проект django с использованием HackerEarth API. Этот код я получаю, когда запускаю проект на локальном
Доступ к 127.0.0.1 был запрещен У вас нет прав для просмотра этой страницы. ОШИБКА HTTP 403
Это мои views.py
@login_required
@student_required
#From HackerEarth API
def runCode(request):
if request.is_ajax():
run_url = "https://api.hackerearth.com/v3/code/run/"
source = request.POST['source']
lang = request.POST['lang']
data = {
'client_secret': '***',
'async': 0,
'source': source,
'lang': lang,
'time_limit': 5,
'memory_limit': 262144,
}
if 'input' in request.POST:
data['input'] = request.POST['input']
r = requests.post(run_url, data=data)
return JsonResponse(r.json(), safe=False)
else:
return HttpResponseForbidden()
и html:
<code>{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Online Code Compiler</title>
<script src="{% static 'fifth/js/jquery.min.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'fifth/js/bootstrap.min.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'fifth/js/ace.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'fifth/js/ext-statusbar.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'fifth/js/ext-language_tools.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'fifth/js/customjs.js' %}" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="{% static 'fifth/css/bootstrap.min.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static 'fifth/css/custom.css' %}" />
</head>
<body>
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}" />
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a style="color:#fff;"class="navbar-brand" href="#">HackerEarth</a>
</div>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">MyIDE</a></li>
</ul>
</div>
</nav>
<h4 style="margin-left:16%">An Online Compiler tool developed using django/python</h4>
<hr>
<br><br>
<div class="container">
<div id="topbar">
<div class="lang-choose">
<select class="form-control" name="lang" id="lang">
<option value="C">C (gcc 4.8.4)</option>
<option value="CPP" selected>C++ (g++ 4.8.4)</option>
<option value="CLOJURE">Clojure (clojure 1.1.0)</option>
<option value="CSS">CSS</option>
<option value="CSHARP">C# (mono 3.2.8)</option>
<option value="GO">Go (go 1.4.2)</option>
<option value="HASKELL">Haskell (ghc 7.4.1)</option>
<option value="JAVA">Java (openjdk 1.7.0_09)</option>
<option value="JAVASCRIPT">JavaScript (Rhino 1.7)</option>
<option value="LISP">Lisp (csc 4.8.0.5)</option>
<option value="OBJECTIVEC">Objective-C (clang 3.3)</option>
<option value="PASCAL">Pascal (fpc 2.6.2)</option>
<option value="PERL">Perl (perl 5.18.2)</option>
<option value="PHP">PHP (php 5.5.9)</option>
<option value="PYTHON">Python (python 2.7.6)</option>
<option value="RUBY">Ruby (ruby 2.1.1)</option>
<option value="R">R (RScript 3.0.2)</option>
<option value="RUST">Rust (rustc 1.4.0)</option>
<option value="SCALA">Scala (scalac 2.9.2)</option>
<option value="TEXTFILE">Text</option>
</select>
</div>
<div id="settings">
<div class="theme-choose">
<select class="form-control" name="theme" id="theme">
<option value="Light" selected>Light</option>
<option value="Monokai">Monokai</option>
<option value="Solarised Light">Solarised Light</option>
<option value="Twilight">Twilight</option>
</select>
</div>
<a class="" id="download">
download code
<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
</a>
</div>
</div>
<pre id="editor">
Скомпилируйте и запустите Скомпилируйте и запустите
Подробности журнала:
var myDate = new Date (); var hours = myDate.getHours (); var minutes = myDate.getMinutes (); var ampm = часы> = 12? 'до полудня, после полудня'; часы = часы% 12; часы = часы? часов: 12; минуты = минуты <10? «0» + минуты: минуты; var strTime = часы + ':' + минуты + ампер; document.getElementById ("demo"). inner HTML = myDate.getDate () + "/" + (parseInt (myDate.getMonth ()) + 1) .toString () + "/" + myDate.getFullYear () + "at" + strTime; </script>
<класс нижнего колонтитула = "container">
Тестирование Согласно документации HackerEarth:
Если не указать client_secret, возвращается следующий Запрещенный ответ 403.
Я явно ошибаюсь, поскольку предполагал, что client_secret будет возвращен через мои представления. ру