1+ from datetime import datetime
2+ import os
3+
14from flask import Flask , render_template , request , redirect , url_for , send_from_directory
25from flask_sqlalchemy import SQLAlchemy
36from flask_migrate import Migrate
47from flask_wtf .csrf import CSRFProtect
5- from datetime import datetime
6- import os
8+
79
810app = Flask (__name__ , static_folder = 'static' )
911csrf = CSRFProtect (app )
2931# Enable Flask-Migrate commands "flask db init/migrate/upgrade" to work
3032migrate = Migrate (app , db )
3133
32- # Create databases, if databases exists doesn't issue create
33- # For schema changes, run "flask db migrate"
34+ # The import must be done after db initialization due to circular import issue
3435from models import Restaurant , Review
35- db .create_all ()
36- db .session .commit ()
3736
3837@app .route ('/' , methods = ['GET' ])
3938def index ():
40- from models import Restaurant
4139 print ('Request for index page received' )
4240 restaurants = Restaurant .query .all ()
4341 return render_template ('index.html' , restaurants = restaurants )
4442
4543@app .route ('/<int:id>' , methods = ['GET' ])
4644def details (id ):
47- from models import Restaurant , Review
4845 restaurant = Restaurant .query .where (Restaurant .id == id ).first ()
4946 reviews = Review .query .where (Review .restaurant == id )
5047 return render_template ('details.html' , restaurant = restaurant , reviews = reviews )
@@ -57,7 +54,6 @@ def create_restaurant():
5754@app .route ('/add' , methods = ['POST' ])
5855@csrf .exempt
5956def add_restaurant ():
60- from models import Restaurant
6157 try :
6258 name = request .values .get ('restaurant_name' )
6359 street_address = request .values .get ('street_address' )
@@ -80,7 +76,6 @@ def add_restaurant():
8076@app .route ('/review/<int:id>' , methods = ['POST' ])
8177@csrf .exempt
8278def add_review (id ):
83- from models import Review
8479 try :
8580 user_name = request .values .get ('user_name' )
8681 rating = request .values .get ('rating' )
@@ -105,7 +100,6 @@ def add_review(id):
105100@app .context_processor
106101def utility_processor ():
107102 def star_rating (id ):
108- from models import Review
109103 reviews = Review .query .where (Review .restaurant == id )
110104
111105 ratings = []
0 commit comments