Строковый индекс вне диапазона? в почтовом запросе django
У меня возникает ошибка string index out of range когда я получаю простой текст из post запроса и хочу показать данные в массиве.
когда я выполняю этот запрос в jupyter notebook, то он работает нормально и получает данные из этого массива, но когда я получаю данные с помощью post request в django и получаю их в представлениях, то получаю string index out of range.
Вот код, который я использую.
<form action="{% url 'text_extracted' %}" method="POST">
{% csrf_token %}
<div class="form-group">
<label for="comment">Json:</label>
<textarea class="form-control" rows="10" id="json_text" name="json_text" required></textarea>
</div>
<input type="submit" class="btn btn-block btn-primary">
</form>
def text_extracted(request):
if request.method == 'POST':
json_text = request.POST['json_text']
for span in anlist:
for ent in span[1]['entities']:
print(json_text[0][0][ent[0]:ent[1]])
return HttpResponse("Ok")
Я полагаю, что ответ приходит в виде обычного текста, а не готового к использованию словаря.
Попробуйте сделать следующее, используя json.loads:
def text_extracted(request):
import json
if request.method == 'POST':
json_text = json.loads(request.POST['json_text'])
for span in json_text:
for ent in span[1]['entities']:
print(json_text[0][0][ent[0]:ent[1]])
return HttpResponse("Ok")