Я пытаюсь отправить форму в мое приложение Flask. Он имеет 3 именованные группы:
- токен csrf
- Действие по устранению, которое является одной из двух кнопок
- Тип выпуска, который является одним из трех кнопок
Вот мой код формы:
<form method="get" action="{{url_for('connectivity.homeBase')}}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<div class="column" style="width:48%; margin-left:1%; margin-right:1%;">
<div class="columnContainer" style="text-align:center;">
<div class="buttonWrapper" style="width:100%; margin:5px;">
<button class="submitButton issueAction" id="newIssue" name="issueAction" value="newIssue" type="button" style="width:145px; height:75px; text-align:center;">New</button>
</div>
</div>
</div>
<div class="column" style="width:48%; margin-left:1%; margin-right:1%;">
<div class="columnContainer" style="text-align:center;">
<div class="buttonWrapper" style="width:100%; margin:5px;">
<button class="submitButton issueAction" id="updateIssue" name="issueAction" value="updateIssue" type="button" style="width:145px; height:75px; text-align:center;">Update</button>
</div>
</div>
</div>
<div style="width:100%; height:25px; display:block; clear:both;">
</div>
<h3>Is this a partner outage, partner maintenance, or company outage?</h3>
<hr>
<div class="column" style="width:31%; margin-left:1%; margin-right:1%;">
<div class="columnContainer" style="text-align:center;">
<div class="buttonWrapper" style="width:100%; margin:5px;">
<button class="submitButton issueType" id="partnerOutage" name="issueType" value="partnerOutage" type="button" style="width:145px;; height:75px; text-align:center;">Partner Outage</button>
</div>
</div>
</div>
<div class="column" style="width:31%; margin-left:1%; margin-right:1%;">
<div class="columnContainer" style="text-align:center;">
<div class="buttonWrapper" style="width:100%; margin:5px;">
<button class="submitButton issueType" id="partnerMaintenance" name="issueType" value="partnerMaintenance" type="button" style="width:145px; height:75px; text-align:center;">Partner Maintenance</button>
</div>
</div>
</div>
<div class="column" style="width:31%; margin-left:1%; margin-right:1%;">
<div class="columnContainer" style="text-align:center;">
<div class="buttonWrapper" style="width:100%; margin:5px;">
<button class="submitButton issueType" id="companyOutage" name="issueType" value="companyOutage" type="button" style="width:145px; height:75px; text-align:center;">company Outage</button>
</div>
</div>
</div>
<div style="width:100%; height:25px; display:block; clear:both;">
</div>
<h3 id="submitLabel">You must select an action and issue type to proceed.</h3>
<hr>
<div class="buttonWrapper" style="width:100%; margin:5px;" type="submit">
<button class="submitButton" style="width:145px; height:75px; text-align:center;">GO!</button>
</div>
В Python я просто пытаюсь напечатать request.args:
@bp.route('/homeBase', methods=('GET', 'POST'))
def homeBase():
print(request.args)
return render_template('connectivity/homeBase.html')
Единственный элемент печатной формы - это токен CSRF. Я правильно назвал свои группы кнопок, присвоил каждому уникальный атрибут значения и обернул их все в тег формы.
Почему Flask получает только токен CSRF от клиента? Насколько я понимаю, у меня должна быть возможность видеть в запросе ProblemAction и IssueType, но его там нет.
Возможно, я мог бы кодировать это с помощью WTForm и исправить проблему, но я хочу понять, почему этот подходущербный, прежде чем я оставлю это.