Arielis
Arielis

Reputation: 141

ModuleNotFoundError: No module named 'forms'

New to django, I am trying to understand this error. The forms is in the folder of the project. My forms.py is importing from django forms.

class LoginForm(forms.Form): 
email = forms.EmailField(label='Courriel')
password = forms.CharField(label='Mot de passe',
                        widget = forms.PasswordInput)

My views.py is importing LoginForm

I don't know why I am getting this error?

Thanks

Upvotes: 8

Views: 26240

Answers (2)

davidejones
davidejones

Reputation: 1949

It sounds like it should be working, you might want to post the full error and more of your code. Something like this should be working

# forms.py
from django import forms


class LoginForm(forms.Form): 
    email = forms.EmailField(label='Courriel')
    password = forms.CharField(label='Mot de passe',
                        widget = forms.PasswordInput)

and the views

# views.py
from forms import LoginForm
from django.shortcuts import render


def someview(request):
    if request.method == 'POST':
        login_form = LoginForm(data=request.POST)
        if login_form.is_valid():
            # do something when valid
    else:
        login_form = LoginForm()
    return render(request, 'login.html', {'login_form': login_form})

where you have a folder structure like

/app/
   forms.py
   views.py

Upvotes: 5

narendra-choudhary
narendra-choudhary

Reputation: 4818

You're probably importing LoginForm in views.py as following:

from forms import LoginForm

Change that to

from .forms import LoginForm

Upvotes: 13

Related Questions