Search code examples
pythonpython-importimporterror

How to correctly import modules in pytnon?


I have this code

server.py

from admin.users.views import users_blueprint

server/admin/users/forms.py

from flask_wtf import FlaskForm
from wtforms import  StringField, SubmitField

class AddForm(FlaskForm):
   pass

server/admin/users/views.py

from flask import Blueprint, render_template, redirect, url_for
from forms import AddForm
users_blueprint = Blueprint('users_blueprint', __name__, template_folder='templates/users')

When I run server.py, I get this error:

Traceback (most recent call last):
  File "server/server.py", line 6, in <module>
    from admin.users.views import users_blueprint
  File "server\admin\users\views.py", line 2, in <module>
    from forms import AddForm
ModuleNotFoundError: No module named 'forms'

Anyone knows what is happening?


Solution

  • In your import statement, try:

    from .forms import AddForm

    Rationale: Python is directory-sensitive when you run code. There is no adjacent module named forms in your top level directory where you call server.py. The . tells the server/admin/users/views.py to import adjacently from server/admin/users/forms.py module.