Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJustin Carlson
12,755 PointsMethod not allowed when trying to add builder route?
I have been trying to figure out what I'm doing wrong here... I even deleted my workspace and started fresh with a new template for the course and still get this error after naming the bear.
"Method Not Allowed
The method is not allowed for the requested URL."
here is what I have for code I am sure its something simple that I have just missed but I can not find it:
import json
from flask import (Flask, render_template, redirect,
url_for, request, make_response)
from options import DEFAULTS
app = Flask(__name__)
def get_saved_data():
try:
data = json.loads(request.cookies.get('character'))
except TypeError:
data = {}
return data
@app.route('/')
def index():
return render_template('index.html', saves=get_saved_data())
@app.route('/builder')
def builder():
return render_template(
'builder.html',
saves=get_saved_data(),
options=DEFAULTS
)
@app.route('/save', methods=['POST'])
def save():
response = make_response(redirect(url_for('builder')))
data = get_saved_data()
data.update(dict(request.form.items()))
response.set_cookie('character', data)
return response
app.run(debug=True, host='0.0.0.0', port=8000)
1 Answer
Kenneth Love
Treehouse Guest TeacherI have a feeling that you have a form in your HTML sending data, via POST, to either /builder
or /
.