I am getting the following error in Django:
NoReverseMatch at /revision/login_user/ Reverse for 'module-add'
with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried:
[]I am not really sure why i am getting this error.
These are my views for logging in: (Traceback refers to here)
def login_user(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
modules = Module.objects.filter(user=request.user)
return render(request, 'revision/index.html', {'modules': modules})
else:
return render(request, 'revision/login.html', {'error_message': 'Your account has been disabled'})
else:
return render(request, 'revision/login.html', {'error_message': 'Invalid login'})
return render(request, 'revision/login.html')
Same with register:
def register(request):
form = UserForm(request.POST or None)
if form.is_valid():
user = form.save(commit=False)
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user.set_password(password)
user.save()
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
modules = Module.objects.filter(user=request.user)
return render(request, 'revision/index.html', {'modules': modules})
context = {
"form": form,
}
return render(request, 'revision/register.html', context)
Both refer to the line of return render(request, 'revision/index.html', {'modules': modules}) How do I fix this issue?
This may be to do with your urls.py.
Have you included your revisions/urls.py in your [project_name]/urls.py?
urlpatterns = [
url(r'^', include('revisions.urls')),
]
Also, have you a urlpattern in revesions/urls.py, which refers to a view method which does not exist?
Such as:
url(r'^module-add/$', views.module-add, name="module-add"),