Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 13891

NoReverseMatch at / .Reverse for ‘login’ not found. ‘login’ is not a valid view function or pattern name

$
0
0

I'm currently building a website using Django and have some issues, can someone please help me with this. Here is my urls.py file:

from django.urls import path, includefrom  . import viewsimport sysapp_name = "myapp"urlpatterns = [    path('', views.index, name='index'),    path('register', views.register, name='register'),    path('login', views.login, name='login'),    path('logout', views.logout, name='logout'),    path('wordsearch', views.wordsearch, name='wordsearch'),    path('generate', views.generate, name="generate")] 

and my views.py:

from django.shortcuts import render, redirect # redirect: chuyen huong user toi page khacfrom django.contrib.auth.models import User, authfrom django.contrib import messagesfrom django.http import HttpResponsefrom .models import Featurefrom myproject.main import *from django.contrib.auth.forms import UserCreationForm, AuthenticationForm# Create your views here.# gửi request tới thư mục templates để tìm file index.htmldef index(request):    # dictionary     return render(request, 'login.html')# log in and sign up functiondef register(request):      # check if the page is rendered with a post method    if request.method == 'POST':        form = UserCreationForm(request.POST)        if form.is_valid():            form.save()            # log the user in            return redirect('login')    else:         form = UserCreationForm()    return render(request, 'register.html', {'form': form})def login(request):    if request.method == "POST":        form = AuthenticationForm(data = request.POST)        if form.is_valid():            return redirect('wordsearch')    else:        form = AuthenticationForm()    return render(request, 'login.html', {'form': form})# log outdef logout(request):    auth.logout(request) # log all user out of platform    return redirect('/')def wordsearch(request):    return render(request, 'wordsearch.html')

my login.html:

<h1> Login Now </h1>{% for message in messages %}<h3>{{message}}</h3>{% endfor %}<form action="{% url 'login' %}" method="POST">    {% csrf_token %}    {{ form }}<input type="submit" value="Login"></form>

Traceback:

Traceback (most recent call last):  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\core\handlers\exception.py", line 56, in inner    response = get_response(request)               ^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\core\handlers\base.py", line 197, in _get_response    response = wrapped_callback(request, *callback_args, **callback_kwargs)               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\myproject\myapp\views.py", line 13, in index    return render(request, 'login.html')           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\shortcuts.py", line 24, in render    content = loader.render_to_string(template_name, context, request, using=using)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\loader.py", line 62, in render_to_string    return template.render(context, request)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\backends\django.py", line 61, in render    return self.template.render(context)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\base.py", line 175, in render    return self._render(context)           ^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\base.py", line 167, in _render    return self.nodelist.render(context)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\base.py", line 1005, in render    return SafeString("".join([node.render_annotated(context) for node in self]))                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\base.py", line 1005, in <listcomp>    return SafeString("".join([node.render_annotated(context) for node in self]))                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\base.py", line 966, in render_annotated    return self.render(context)           ^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\template\defaulttags.py", line 471, in render    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\urls\base.py", line 88, in reverse    return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "D:\VSC\word-search-AI\env\Lib\site-packages\django\urls\resolvers.py", line 828, in _reverse_with_prefix    raise NoReverseMatch(msg)django.urls.exceptions.NoReverseMatch: Reverse for 'login' not found. 'login' is not a valid view function or pattern name.

I'm confused with the error. It says login is not a valid view function though I have defined login function in my views.py. Please help me with this problem, thank you so much!


Viewing all articles
Browse latest Browse all 13891

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>