bwhte4
bwhte4

Reputation: 11

Fixing the "AttributeError: module 'requests' has no attribute 'methods'" error after reinstalling packages?

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

Answers (1)

JonPizza
JonPizza

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

Related Questions