0

Trying to import forms from forms.py file and it's in the same directory but keeps givi9ng me the 'no module named 'forms' error.Does anyone know what gives? I've included code from both files.

File name: flask_blog.py

from flask import Flask, render_template, url_for
from forms import RegistrationForm, LoginForm
app = Flask(__name__)

app.config['SECRET_KEY'] = '0dc953422b69ec4bb60b6bc63d8ad0f3'

posts = [
    {
       'author':'Mike Camper', 
       'title' :'Blog Post 1',
       'content': 'First Post Content',
       'date_posted': 'April 20, 2018'
    },
    {
       'author':'Jane Doe', 
       'title' :'Blog Post 2',
       'content': 'Second Post Content',
       'date_posted': 'April 21, 2019'
    }
]

@app.route("/")
@app.route("/home")
def home():
    return render_template('home.html', posts=posts)


@app.route("/about")
def about():
    return render_template('about.html', title='About')

@app.route("/register")
def register():
    form = RegistrationForm()
    return render_template('register.html', title='Register', form=form)

@app.route("/login")
def login():
    form = LoginForm()
    return render_template('login.html', title='Login', form=form)

if __name__ == '__main__':
    app.run(debug=True)


Here is the other file: forms.py

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo

class RegistrationForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired(), 
                           Length(min=2, max=20)])
    email = StringField('Email',
                         validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    
    confirm_password = PasswordField('Confirm Password', 
                            validators=[DataRequired(), EqualTo('password')])
    submit = SubmitField('Sign Up')

    class LoginForm(FlaskForm):
    
    email = StringField('Email',
                         validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember = BooleanField('Remember Me')
    submit = SubmitField('Login')

Tried the from forms import method. There in the same directory, so not sure why it's giving me the error.

MattDMo
  • 100,794
  • 21
  • 241
  • 231

1 Answers1

0

Create __init__.py file on same path of forms.py