在登录页面上按“提交”按钮时未找到错误页面404

问题描述

登录页面上按“提交”按钮时找不到错误页面(404)

Request Method:GET

URL:http://127.0.0.1:8000/login.html?username=dfg&password=dfg

Using the URLconf defined in app.urls,Django tried these URL patterns,in this order:

[name='login']

about [name='about']

afterlogin [name='afterlogin']

admin/

The current path,login.html,didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False,and Django will display a standard 404 page.

我想问两件事

  • 我的Request Method:GET说了什么,为什么要views.py
    def afterlogin(request):
        return render(request,'pages/afterlogin.html')
    def login(request):
        if request.method == 'POST':
            messages.error(request,'testing error')
            return redirect('login')
        else:
            return render(request,'pages/login.html')

和我在应用中的url.py

    urlpatterns = [
            path('',views.login,name="login"),path('about',views.about,name="about"),path('afterlogin',views.afterlogin,name="afterlogin"),path('admin/',admin.site.urls),]

请问有解决此问题的解决方案吗?

解决方法


class AddQDesc:

    def __init__ (self,name):
        self.name = name
        self.storage = {}
        
    def __get__ (self,instance,owner):
        if not instance: return self
        return self.storage[instance]
            
    
    def __set__ (self,value):
        self.storage[instance] = value + 1