Bird
Raised Fist0
Flaskframework~5 mins

Custom status codes in Flask - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a custom status code in Flask?
A custom status code is a user-defined HTTP response code sent from a Flask route to indicate a specific result or error beyond standard codes.
Click to reveal answer
beginner
How do you return a custom status code from a Flask route?
Return a tuple from the route with the response body and the custom status code number, e.g., return 'Error', 499.
Click to reveal answer
intermediate
Why might you use a custom status code in a Flask app?
To communicate specific application states or errors not covered by standard HTTP codes, helping clients handle responses better.
Click to reveal answer
intermediate
Can Flask recognize custom status codes automatically?
Flask allows any integer as a status code, but custom codes are not standard and may not be recognized by browsers or tools.
Click to reveal answer
beginner
Show a simple Flask route example returning a custom status code 450.
from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Custom status', 450
Click to reveal answer
How do you specify a custom status code in a Flask route return?
ASet a global variable with the status code
BReturn a tuple with response and status code, e.g., return 'OK', 299
CUse a decorator to define the status code
DFlask does not support custom status codes
What happens if you use a non-standard status code in Flask?
AFlask converts it to 200 OK
BFlask will reject the response
CThe code is sent but may not be understood by browsers
DThe server crashes
Which of these is a valid way to return a custom status code 499 in Flask?
Areturn 'Error', 499
Breturn 'Error', status=499
Creturn Response('Error', status_code=499)
Dreturn 'Error'.status(499)
Why should you be careful using custom status codes?
AThey might confuse clients or tools expecting standard codes
BThey always cause server errors
CThey are slower to send
DThey require special Flask plugins
Which HTTP status code range is typically used for custom codes?
A100-199
B200-299
C400-499
DThere is no official range for custom codes
Explain how to return a custom status code in a Flask route and why you might do it.
Think about how Flask returns responses and why custom codes help.
You got /3 concepts.
    Describe potential issues when using custom status codes in Flask applications.
    Consider how browsers and APIs handle unknown codes.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the correct way to return a custom status code 450 from a Flask route?
      easy
      A. return "Error", 450
      B. return 450, "Error"
      C. return Response(status=450)
      D. return make_response(450, "Error")

      Solution

      1. Step 1: Understand Flask return tuple format

        Flask routes return a tuple with (response_body, status_code) to set custom status codes.
      2. Step 2: Match the tuple with custom code 450

        Returning "Error", 450 matches the format (body, status_code) correctly.
      3. Final Answer:

        return "Error", 450 -> Option A
      4. Quick Check:

        Tuple (body, status) = return "Error", 450 [OK]
      Hint: Return (body, code) tuple to set custom status [OK]
      Common Mistakes:
      • Swapping order of status and body in return tuple
      • Using Response without import or wrong parameters
      • Using make_response incorrectly
      2. Which of the following is the correct syntax to return a JSON response with a custom status code 499 in Flask?
      easy
      A. return jsonify(message="Fail"), 499
      B. return jsonify(message="Fail", status=499)
      C. return jsonify(message="Fail", 499)
      D. return jsonify(message="Fail").status_code(499)

      Solution

      1. Step 1: Use jsonify to create JSON response

        jsonify returns a Response object with JSON content.
      2. Step 2: Return tuple with jsonify and status code

        To set custom status code, return (jsonify(...), status_code) tuple.
      3. Final Answer:

        return jsonify(message="Fail"), 499 -> Option A
      4. Quick Check:

        jsonify + tuple (response, code) = return jsonify(message="Fail"), 499 [OK]
      Hint: Return (jsonify(...), code) tuple for JSON + custom code [OK]
      Common Mistakes:
      • Passing status code inside jsonify arguments
      • Trying to call status_code as method
      • Incorrect tuple order or syntax
      3. What will be the HTTP status code returned by this Flask route?
      from flask import Flask
      app = Flask(__name__)
      
      @app.route('/test')
      def test():
          return "Custom", 499
      medium
      A. 404
      B. 200
      C. 499
      D. 500

      Solution

      1. Step 1: Check the return statement in route

        The route returns a tuple ("Custom", 499), where 499 is the status code.
      2. Step 2: Flask uses the second tuple element as status code

        Flask sets HTTP status code to 499 as specified in the return tuple.
      3. Final Answer:

        499 -> Option C
      4. Quick Check:

        Return tuple second value = status code 499 [OK]
      Hint: Second tuple value in return sets status code [OK]
      Common Mistakes:
      • Assuming default 200 status code
      • Confusing return order
      • Thinking 499 is invalid and defaults to 500
      4. Identify the error in this Flask route that tries to return a custom status code 499:
      from flask import Flask
      app = Flask(__name__)
      
      @app.route('/error')
      def error():
          return "Oops", status=499
      medium
      A. Route function must return a Response object
      B. Custom status code 499 is not allowed in Flask
      C. Missing jsonify for JSON response
      D. Using 'status' keyword argument in return is invalid

      Solution

      1. Step 1: Check return statement syntax

        Flask does not accept 'status' keyword in return statement directly.
      2. Step 2: Correct way is to return tuple (body, status_code)

        Use return "Oops", 499 instead of return "Oops", status=499.
      3. Final Answer:

        Using 'status' keyword argument in return is invalid -> Option D
      4. Quick Check:

        Return tuple (body, code) not keyword args [OK]
      Hint: Return tuple (body, code), not keyword args [OK]
      Common Mistakes:
      • Using status=code in return instead of tuple
      • Assuming Flask auto-detects status from keywords
      • Confusing with Response object parameters
      5. You want to create a Flask route that returns a JSON message with a custom status code 460 only if a query parameter 'valid' is 'no'. Otherwise, return status 200 with a success message. Which code correctly implements this?
      hard
      A. from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check') def check(): if request.args.get('valid') == 'no': return jsonify(error="Invalid", status=460) return jsonify(message="OK")
      B. from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check') def check(): if request.args.get('valid') == 'no': return jsonify(error="Invalid"), 460 return jsonify(message="OK"), 200
      C. from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check') def check(): if request.args.get('valid') == 'no': return jsonify(error="Invalid").status_code = 460 return jsonify(message="OK")
      D. from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check') def check(): if request.args.get('valid') == 'no': return jsonify(error="Invalid") return jsonify(message="OK"), 200

      Solution

      1. Step 1: Check conditional logic for query parameter

        Use request.args.get('valid') to check if it equals 'no'.
      2. Step 2: Return JSON with custom status code 460 if invalid

        Return (jsonify(...), 460) tuple to set custom status code correctly.
      3. Step 3: Return success JSON with status 200 otherwise

        Return (jsonify(...), 200) tuple for success response.
      4. Final Answer:

        Correct conditional returns with tuples for custom and normal codes -> Option B
      5. Quick Check:

        Return (jsonify, code) tuples for all cases [OK]
      Hint: Return (jsonify(...), code) tuples for all responses [OK]
      Common Mistakes:
      • Passing status inside jsonify arguments
      • Trying to set status_code attribute directly
      • Missing status code tuple on error response
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard