尝试转换为课程时出现问题

时间:2019-11-07 00:50:21

标签: django

这是我的原始代码

from django.shortcuts import render
def login(request):
    if(request.method == "POST"):
        return render(request, 'login1.html')
    else:
        return render(request, 'login.html')

已将上面的代码转换为下面的类。

class login(View):
    def loginForm(self, request):
        return render(request, 'login.html')
    def authenticate(self, request):
        return HttpResponse("Inside Post")

新的Url.py文件

from django.urls import path
from .import views

app_name = 'authapp'

urlpatterns = [
    path('', views.login.loginForm(), name='loginForm'),
    path('', views.login.authenticate(), name='authenticate')
]

我遇到错误

  

loginForm()缺少2个必需的位置参数:self和   请求。

您能建议点什么吗?我实际上是在尝试将代码转换为类。没有课,一切都很好。

1 个答案:

答案 0 :(得分:0)

执行此操作的通常方法是在视图类上定义getpost方法。使用相关的请求方法时,每个方法都会被调用。

class LoginView(View):

    def get(self, request, *args, **kwargs):
        return render(request, 'login.html')

    def post(self, request, *args, **kwargs):
        return HttpResponse("Inside Post")

urlpatterns = [
    path('', LoginView.as_view(), name='login'),
]