Python Django повторное использование <WSGIRequest: GET'> вместо данных
У меня некоторые проблемы с представлением данных API в моих шаблонах.
Некоторая информация: Данные API отправляются в context_processors.py в моем app dir.
from ttn.context_processors import my_function
while True:
my_function(SomeClass().return_data())
time.sleep(5)
и вот моя функция context_processors:
def my_function(complex_data):
all_data = complex_data
return {'data': all_data}
комплекс_данных выглядит так:
{0:{}, 1{}} etc..
Вот где я хочу представить данные в моем base.html:
<div class="div-side">
{% if data %}
<p>{{data}}</p> # this one return wsgirequest: get /myapp/
<ul>
{% for dicts in data %}
<li>dicts</li> # just for test
{% for d in dicts %}
<li>{{ d.name }}
<span>{{d.someDigit|floatformat:'2'}}</span>
<span>{{d.somePercent|floatformat:'2' }} %</span>
</li>
{% endfor %}
</ul>
{% endfor %}
{%else%}
<p>no info</p>
{%endif%}
</div>
Мои представления, которые приводятся к base.html:
def home_page(request):
a = len(get_news_objects())
return render(request, 'base.html',
{'a': a}
)
По сути, я не могу представить свои данные на моей .html странице, потому что context_processors.py, возвращает это "wsgirequest: get /myapp/".
Что я упускаю? Как я могу отправить данные вместо wsgirequest: get /myapp/?
Из моего settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'project.context_processors.my_function', #
],
},
},
]
Ах, какая глупая ошибка с моей стороны.
Оказалось, что я перезаписал имя request в context_processors.py, и я пытался получить информацию из django.http.request, вместо моих данных из моей функции.
В настоящее время мой код выглядит следующим образом:
context_processors.py. Пропуская чтение документации...
def my_function(request):
if request.method == 'GET':
data = data_from_while_true_loop.
return {'data': data}
Пока все работает нормально!