Есть ли способ выполнить html внутри переменной шаблона, которая является таблицей? - PullRequest
1 голос
/ 29 октября 2019

Я создаю веб-сайт с использованием Django, я взял фрейм данных pandas, сохранил его как переменную шаблона и передал его в запрос рендеринга. Я хотел бы сделать некоторые элементы формы столбцов, но мне не удалось это сделать.

Я уже пытался применить функцию к фрейму данных pandas, чтобы добавить надлежащий HTML для каждого элемента в столбце. Тем не менее, сам HTML отображается на самом сайте.

Вот мой код Python:

def optimizer(request):
    df = Optimizer.get_daily_roster('E:\website\optimizer\Predictions.csv')
    df = df.drop(columns=['Name + ID', 'Game Info', 'Unnamed: 0', 'Unnamed: 0.1', 'name'])
    df = df.rename(columns={'TeamAbbrev': 'Team', 'AvgPointsPerGame': 'Predicted FP'})
    df['Predicted FP'] = df['Predicted FP'].apply(lambda x: round(float(x), 2))
    df['Predicted FP'] = df['Predicted FP'].apply(lambda x: "<input type='text' value=" + str(x) + ">")
    df['Min Exposure'] = 0
    df['Max Exposure'] = 1
    # cols_to_values = df.to_dict(orient='list')
    # cols_to_values = {x.translate({32: None}): y
    #                 for x, y in cols_to_values.items()}
    html_table = df.to_html(index=False, justify='left',
                            classes=[
                                'table table-bordered table-striped table-hover table-responsive table-sm, container-fluid'])
    return render(request, 'optimizer/optimizer.html', {'player_table': html_table})

А вот мой HTML:

{% extends "optimizer/base.html" %}
{% block content %}
<h1>Optimizer</h1>
<form method="post">
    <input type="submit" value="Generate Lineups">
    <div class="table-responsive">
        {{ player_table |safe }}
    </div>
</form>
{% endblock content %}

Яполучение табличных полей данных, которые говорят всю строку HTML. Например, один говорит "<input type='text' value=55.95>". Он должен просто сказать 55,95 и быть редактируемым полем формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...