Я искал решение той же проблемы и пришел с немного лучше обходным решением, чем предлагалось Klaus Byskov Hoffmann
. Это лучше, потому что вам не нужно иметь 2 отдельных базовых шаблона для запросов ajax и non-ajax и, что более важно, вам не нужно определять оператор if, который будет определять, какой базовый шаблон использовать в контроллере EACH.
В вашем случае решением будет:
page.html
{% extends "/base.html" %}
{% block body %}
hello world
{% endblock body %}
base.html
{% if not ajax %}
<html>
<head></head>
<body>
LOGO and other stuff...
{% endif %}{% block body %}{% endblock body %}{% if not ajax %}
FOOTER
</body>
</html>
{% endif %}
Итак, base.html всегда включен, но он печатает его содержимое только тогда, когда not ajax
.
UPDATE: Это можно упростить, создав и добавив новый ConextProcessor, который будет заполнять контекстную переменную ajax
из HttpRequest.is_ajax()
, поэтому вам не нужно ничего делать в своих контроллерах и шаблонах.
df.loc[df['datetime] > 'your value'].count()
Ниже приведен образец
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
#print(df)
# A B C D
# 0 foo one 0 0
# 1 bar one 1 2
# 2 foo two 2 4
# 3 bar three 3 6
# 4 foo two 4 8
# 5 bar two 5 10
# 6 foo one 6 12
# 7 foo three 7 14
newdf = df[df['C'] > 4]
print(newdf['A'].count())
# 3