Reputation: 11
I am attempting to use userName = requests.form.get['username'] to make the variable userName equal to the form input, but I am getting an attribute error in flask
I have: Uninstalled requests and reinstalled the package, installed different versions of the package, installing latest lxml package, checking the python PATH. Every use of the request package is an error yet I pip installed it the same way as my other packages that work well. I am running Python 3.7 and the latest request package through pip install
from urllib import request
import random
import requests
import urllib
import time
from datetime import date
import sys
import re
import json
from flask_wtf import FlaskForm
from bs4 import BeautifulSoup
from flask import Flask, render_template, jsonify
@app.route("/handle_data", methods =['GET', 'POST'])
def handle_data():
if requests.methods == 'POST':
userName = requests.form.get['username']
listName = requests.form.get['listname']
code here
HTML
<!-- Forms -->
<form action="{{ url_for('handle_data') }}" method="POST">
<form>
<div class="form-row">
<div class="col">
<input type="text" size=15 name=username class="form-control" placeholder="Username">
</div>
<div class="col">
<input type="text" size=15 name=listname class="form-control" placeholder="List Name">
</div>
</div>
<p><input type = "submit" class="buttonclass" value = "Random!" /></p>
</form>
I receive an AttributeError.
Upvotes: 0
Views: 6244
Reputation: 129
Change
userName = requests.form.get['username']
listName = requests.form.get['listname']
To
userName = request.form.get['username']
listName = request.form.get['listname']
requests module and request object (from flask) were confused
Upvotes: 1