How return list on Python and Flask? [duplicate]












-1
















This question already has an answer here:




  • Return JSON response from Flask view

    9 answers




I'm trying to return this list in flask. Teacher is a class and returns objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers


This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.



I'm going crazy and I don't know what's going on. Does anyone know?



Thank you!!



EDIT:



I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teacherJson = teacher.to_json()
teacherData = json.loads(teacherJson)
teachers.append(teacherData)
return jsonify({'teachers': teachers})


Thanks for your help.










share|improve this question















marked as duplicate by davidism flask
Users with the  flask badge can single-handedly close flask questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.














  • 2





    Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

    – Sam
    Jan 2 at 9:20






  • 2





    try return json.dumps(teachers)

    – AkshayNevrekar
    Jan 2 at 9:21











  • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:55


















-1
















This question already has an answer here:




  • Return JSON response from Flask view

    9 answers




I'm trying to return this list in flask. Teacher is a class and returns objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers


This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.



I'm going crazy and I don't know what's going on. Does anyone know?



Thank you!!



EDIT:



I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teacherJson = teacher.to_json()
teacherData = json.loads(teacherJson)
teachers.append(teacherData)
return jsonify({'teachers': teachers})


Thanks for your help.










share|improve this question















marked as duplicate by davidism flask
Users with the  flask badge can single-handedly close flask questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.














  • 2





    Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

    – Sam
    Jan 2 at 9:20






  • 2





    try return json.dumps(teachers)

    – AkshayNevrekar
    Jan 2 at 9:21











  • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:55
















-1












-1








-1









This question already has an answer here:




  • Return JSON response from Flask view

    9 answers




I'm trying to return this list in flask. Teacher is a class and returns objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers


This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.



I'm going crazy and I don't know what's going on. Does anyone know?



Thank you!!



EDIT:



I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teacherJson = teacher.to_json()
teacherData = json.loads(teacherJson)
teachers.append(teacherData)
return jsonify({'teachers': teachers})


Thanks for your help.










share|improve this question

















This question already has an answer here:




  • Return JSON response from Flask view

    9 answers




I'm trying to return this list in flask. Teacher is a class and returns objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return teachers


This code returns the typical error of
TypeError: 'list' object is not callable The view function did not return a valid response.



I'm going crazy and I don't know what's going on. Does anyone know?



Thank you!!



EDIT:



I've already worked it out. The problem was not how to return the list, the problem was the serialization in JSON of the objects.



@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teacherJson = teacher.to_json()
teacherData = json.loads(teacherJson)
teachers.append(teacherData)
return jsonify({'teachers': teachers})


Thanks for your help.





This question already has an answer here:




  • Return JSON response from Flask view

    9 answers








python list api flask






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 3 at 8:59







mollywind

















asked Jan 2 at 9:13









mollywindmollywind

285




285




marked as duplicate by davidism flask
Users with the  flask badge can single-handedly close flask questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









marked as duplicate by davidism flask
Users with the  flask badge can single-handedly close flask questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Jan 2 at 14:01


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 2





    Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

    – Sam
    Jan 2 at 9:20






  • 2





    try return json.dumps(teachers)

    – AkshayNevrekar
    Jan 2 at 9:21











  • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:55
















  • 2





    Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

    – Sam
    Jan 2 at 9:20






  • 2





    try return json.dumps(teachers)

    – AkshayNevrekar
    Jan 2 at 9:21











  • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:55










2




2





Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

– Sam
Jan 2 at 9:20





Have you tried checking the value in Teacher.objects ? Also, you might need to return response in json. So, you will need to pass this list in json format.

– Sam
Jan 2 at 9:20




2




2





try return json.dumps(teachers)

– AkshayNevrekar
Jan 2 at 9:21





try return json.dumps(teachers)

– AkshayNevrekar
Jan 2 at 9:21













This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

– mollywind
Jan 2 at 14:55







This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

– mollywind
Jan 2 at 14:55














2 Answers
2






active

oldest

votes


















2














You are returning a list, Flask expects a response to be returned.



from flask import jsonify

@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify({teachers: [teachers]})





share|improve this answer
























  • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:58



















0














You can't return a list directly from flask view.please try to jsonify



from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
teachers =
for teacher in Teacher.objects:
teachers.append(teacher)
return jsonify(teachers)





share|improve this answer






























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    You are returning a list, Flask expects a response to be returned.



    from flask import jsonify

    @app.route('/v1/teachers', methods=['GET'])
    def getTeachers():
    teachers =
    for teacher in Teacher.objects:
    teachers.append(teacher)
    return jsonify({teachers: [teachers]})





    share|improve this answer
























    • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

      – mollywind
      Jan 2 at 14:58
















    2














    You are returning a list, Flask expects a response to be returned.



    from flask import jsonify

    @app.route('/v1/teachers', methods=['GET'])
    def getTeachers():
    teachers =
    for teacher in Teacher.objects:
    teachers.append(teacher)
    return jsonify({teachers: [teachers]})





    share|improve this answer
























    • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

      – mollywind
      Jan 2 at 14:58














    2












    2








    2







    You are returning a list, Flask expects a response to be returned.



    from flask import jsonify

    @app.route('/v1/teachers', methods=['GET'])
    def getTeachers():
    teachers =
    for teacher in Teacher.objects:
    teachers.append(teacher)
    return jsonify({teachers: [teachers]})





    share|improve this answer













    You are returning a list, Flask expects a response to be returned.



    from flask import jsonify

    @app.route('/v1/teachers', methods=['GET'])
    def getTeachers():
    teachers =
    for teacher in Teacher.objects:
    teachers.append(teacher)
    return jsonify({teachers: [teachers]})






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Jan 2 at 9:27









    Samaksh JainSamaksh Jain

    35327




    35327













    • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

      – mollywind
      Jan 2 at 14:58



















    • This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

      – mollywind
      Jan 2 at 14:58

















    This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:58





    This doesn't work, it gives me back this error: TypeError: <Teacher: Teacher object> is not JSON serializable

    – mollywind
    Jan 2 at 14:58













    0














    You can't return a list directly from flask view.please try to jsonify



    from flask import jsonify
    @app.route('/v1/teachers', methods=['GET'])
    def getTeachers():
    teachers =
    for teacher in Teacher.objects:
    teachers.append(teacher)
    return jsonify(teachers)





    share|improve this answer




























      0














      You can't return a list directly from flask view.please try to jsonify



      from flask import jsonify
      @app.route('/v1/teachers', methods=['GET'])
      def getTeachers():
      teachers =
      for teacher in Teacher.objects:
      teachers.append(teacher)
      return jsonify(teachers)





      share|improve this answer


























        0












        0








        0







        You can't return a list directly from flask view.please try to jsonify



        from flask import jsonify
        @app.route('/v1/teachers', methods=['GET'])
        def getTeachers():
        teachers =
        for teacher in Teacher.objects:
        teachers.append(teacher)
        return jsonify(teachers)





        share|improve this answer













        You can't return a list directly from flask view.please try to jsonify



        from flask import jsonify
        @app.route('/v1/teachers', methods=['GET'])
        def getTeachers():
        teachers =
        for teacher in Teacher.objects:
        teachers.append(teacher)
        return jsonify(teachers)






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 2 at 9:25









        shijinshijin

        11818




        11818















            Popular posts from this blog

            Mossoró

            Error while reading .h5 file using the rhdf5 package in R

            Pushsharp Apns notification error: 'InvalidToken'