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 trialSimon Voort
5,682 Points[Solved] My solution works locally but isn't accepted
My app.py file looks like this:
from models import db, Plant, app
from flask import render_template, url_for, request, redirect
@app.route('/')
def index():
return render_template('index.html')
@app.route('/form', methods=['GET', 'POST'])
def form():
if request.form:
new_plant = Plant(
plant_type=request.form["type"],
plant_status=request.form["status"]
)
db.session.add(new_plant)
db.session.commit()
return redirect(url_for('index'))
return render_template('form.html')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
I've set up this project locally and it runs perfect, but the quiz won't accept my answer. The feedback I get is to use db.add(). But in the previous video we learned to use db.session.add(). Switching to db.add() instead of db.session.add() also doesn't work.
Also: There's a typo in the form.html file. Line 4:
<form action="{{ url_form('form') }}" method="POST">
should be:
<form action="{{ url_for('form') }}" method="POST">
1 Answer
Steven Parker
231,198 PointsSwitching to db.add
will work, but you also need to accommodate a specific formatting quirk of the challenge. It apparently wants you to place the closing parenthesis for Plant on the same line as the 2nd argument, like this:
new_plant = Plant(
plant_type=request.form["type"],
plant_status=request.form["status"] ) # <-- note closing parenthesis
db.add(new_plant)
db.commit()
Your formatting is technically fine and looks much nicer as well!
You may want to report this, along with the typo you found, directly to the Support team. It should get you the "special Exterminator badge".
Simon Voort
5,682 PointsSimon Voort
5,682 PointsThanks Steven! Your code works. I'll report the issue to Treehouse