Reputation: 5376
My Flask application has been running fine for the last 24 hours, however I just took it offline to work on it and i'm trying to start it up again and i'm getting this error:
Traceback (most recent call last):
File "runserver.py", line 1, in <module>
from app import app
File "/home/MY NAME/APP FOLDER NAME/app.py", line 15, in <module>
from Views import *
File "/home/MY NAME/APP FOLDER NAME/Views.py", line 1, in <module>
@app.route('/contact', methods=('GET', 'POST'))
NameError: name 'app' is not defined
I am running the application currently by calling python runserver.py
runserver.py:
from app import app
app.run(threaded = True, debug=True, host='0.0.0.0')
Views.py: contains all of my routes, I won't post them all, as the error is coming from the first time app
is mentioned in this file.
@app.route('/contact', methods=('GET', 'POST'))
def contact():
form = ContactForm()
if request.method == 'POST':
msg = Message("CENSORED,
sender='CENSORED',
recipients=['CENSORED'])
msg.body = """
From: %s <%s>,
%s
""" % (form.name.data, form.email.data, form.message.data)
mail.send(msg)
return "><p><br>Successfully sent message!</p></body>"
elif request.method == 'GET':
return render_template('contact.html', form=form)
app.py: Here is the top of my app.py file, where I define app = Flask(__name__)
as well as import my statements.
from flask import Flask, request, render_template, redirect, url_for, send_file
from geopy.geocoders import Bing
from geopy.exc import GeocoderTimedOut
import re
import urllib
from bs4 import BeautifulSoup
from openpyxl import load_workbook
from openpyxl.styles import Style, Font
import os
import pandas as pd
import numpy as np
import datetime
from Helper_File import *
from Lists import *
from Views import *
from flask_mail import Mail, Message
from forms import ContactForm
global today
geolocator = Bing('Censored')
app = Flask(__name__)
EDIT: I have made the changes suggested in the answer below, but am getting this when I access the page:
Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Here is my file structure:
DHLSoftware.com
|-static
|-style.css
|-templates
|- seperate html file for each page template
|-app.py
|-forms.py
|-helper_file.py
|-Lists.py
|-runserver.py
|-Views.py
Upvotes: 0
Views: 2625
Reputation: 4172
In app.py
you should remove the from Views import *
. Instead in your Views.py
you need to have from app import app
That will bring app into the views namespace and I believe that should work for you.
Upvotes: 1