Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. from flask import Flask, render_template, url_for, request, redirect
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.orm import sessionmaker
  4. from database_setup import Base, Restaurant, MenuItem
  5. engine = create_engine('sqlite:///restaurantmenu.db')
  6. Base.metadata.bind = engine
  7. DBSession = sessionmaker(bind=engine)
  8. session = DBSession()
  9. app = Flask(__name__)
  10. @app.route('/')
  11. @app.route('/restaurant')
  12. def showRestaurants():
  13.     restaurant = session.query(Restaurant).all()
  14.     return render_template('restaurants.html', restaurant = restaurant)
  15.  
  16. @app.route('/restaurant/new', methods=['GET', 'POST'])
  17. def newRestaurant():
  18.     new_restaurant = Restaurant
  19.     return "hi"
  20.  
  21. @app.route('/restaurant/<int:restaurant_id>/edit')
  22. def editRestaurant(restaurant_id):
  23.     return 'This page will be for editing restaurant %s' % restaurant_id
  24.  
  25. @app.route('/restaurant/<int:restaurant_id>/delete')
  26. def deleteRestaurant(restaurant_id):
  27.     return 'This page will be for deleting restaurant %s' % restaurant_id
  28.  
  29. @app.route('/restaurant/<int:restaurant_id>/menu')
  30. def showMenu(restaurant_id):
  31.     restaurant = session.query(Restaurant).filter_by(id=restaurant_id).one()
  32.     items = session.query(MenuItem).filter_by(restaurant_id=restaurant_id)
  33.     return render_template('menu.html', restaurant=restaurant, items=items, restaurant_id=restaurant_id)
  34.    
  35. @app.route('/restaurant/<int:restaurant_id>/menu/new')
  36. def newMenuItem(restaurant_id):
  37.     return 'This page is for making a new menu item for restaurant %s' % restaurant_id
  38.  
  39. @app.route('/restaurant/<int:restaurant_id>/menu/<int:menu_id>/edit')
  40. def editMenuItem(restaurant_id, menu_id):
  41.     return 'This page is for editing menu item % s' % menu_id
  42.  
  43. @app.route('/restaurant/<int:restaurant_id>/menu/<int:menu_id>/delete', methods=['GET','POST'])
  44. def deleteMenuItem(restaurant_id, menu_id):
  45.     itemToDelete = session.query(MenuItem).filter_by(id=menu_id).one()
  46.     if request.method == 'POST':
  47.         session.delete(itemToDelete)
  48.         session.commit()
  49.         return redirect(url_for('menu.html', restaurant_id=restaurant_id))
  50.     else:
  51.         return render_template('deleteconfirmation.html', item=itemToDelete)
  52.  
  53. if __name__ == '__main__':
  54.     app.debug = True
  55.     app.run(host = '0.0.0.0', port = 5000)
  56.     connect_args={'check_same_thread':False}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement