大佬教程收集整理的这篇文章主要介绍了我正在处理 Flask + ReactJs 项目,并且在我的 Flask api 中收到此错误:AttributeError: 'Employee' object has no attribute 'append',大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的烧瓶 API 代码。我已经使用 sqlalchemy 连接了数据库并为表查询创建了一个模型。 我正在处理 Flask + ReactJs 项目,并且在我的 Flask API 中收到此错误:AttributeError: 'employee' object has no attribute 'append'。
from flask import Flask,Jsonify,request
from flask_sqlalchemy import sqlAlchemy
import Json
with open('C:\\Users\\new\\Desktop\\ems\\API\\venv\\config.Json','r') as c:
params = Json.load(C)["params"]
local_server = True
app = Flask(__name__)
app.secret_key = 'super-secret-key'
app.config['UPLOAD_FolDER'] = params['upload_LOCATIOn']
if local_server:
app.config['sqlALCHEmy_database_URI'] = params['local_uri']
else:
app.config['sqlALCHEmy_database_URI'] = params['prod_uri']
db = sqlAlchemy(app)
class employee(db.Model):
sno = db.column(db.Integer,priMary_key=TruE)
ID = db.column(db.Integer,nullable=False)
name = db.column(db.String,nullable=False)
email = db.column(db.String,nullable=False)
contact = db.column(db.Integer,nullable=False)
designation = db.column(db.String,nullable=False)
date = db.column(db.String,nullable=TruE)
@app.route("/employee")
def employee():
employee_List = employee.query.all()
employee = []
for employee in employee_List:
employee.append({'ID' : Employee.id,'name' : employee.name,'email' : employee.email,'contact' : employee.contact,'designation' : employee.designation})
return Jsonify({'employee' : employeE})
@app.route("/add",methods=['POST'])
def add():
employee_data = request.get_Json()
new_employee = employee(ID = employee_data['ID'],name = employee_data['name'],email = employee_data['email'],contact = employee_data['contact'],designation = employee_data['designation'])
db.session.add(new_employeE)
db.session.commit()
return 'Added successfully',201
if __name__ == '__main__':
app.run(deBUG=TruE)```
您有三个同名的对象(这不是一个好习惯,因为它会使您感到困惑并最终引入您刚刚遇到的错误):
每次在同一个命名空间中创建一个同名的新变量时,旧变量都会被覆盖。在您的情况下,函数 employee()
没有问题。但是这两个变量 employee = []
和 for employee in employee_list:
最终发生冲突,python 最终删除了 employee = []
,现在 employee
指向循环中的项目,它没有一个 append
方法,因为它是来自类 employee
的对象。
要解决此问题,请更改列表名称或循环变量的名称。
@app.route("/employee")
def employee():
employee_list = employee.query.all()
employees = [] # <--- changed from `employee` to `employees`
for employee in employee_list:
employee.append({'id' : Employee.id,'name' : employee.name,'email' : employee.email,'contact' : employee.contact,'designation' : employee.designation})
return jsonify({'employee' : employeE}) # <--- changed from `employee` to `employees`
以上是大佬教程为你收集整理的我正在处理 Flask + ReactJs 项目,并且在我的 Flask api 中收到此错误:AttributeError: 'Employee' object has no attribute 'append'全部内容,希望文章能够帮你解决我正在处理 Flask + ReactJs 项目,并且在我的 Flask api 中收到此错误:AttributeError: 'Employee' object has no attribute 'append'所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。