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}

Пока все работает нормально!

Вернуться на верх