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 和 request。
你能建议点什么吗?我实际上是在尝试将代码转换为类。没有课一切都很好。
解决方案
通常的方法是在视图类上定义一个get
和一个方法。post
当使用相关的请求方法时,每个都会被调用。
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'),
]
推荐阅读
- java - 试图将 C# HTTP 请求转换为 Android
- python - 无法生成在 Cpanel 上部署 Django 的应用程序的进程
- wkhtmltopdf - wkhtmltopdf:自定义订单目录
- javascript - Vue mixin 方法没有在实例上定义
- websphere-liberty - 如何在 Web Sphere Liberty 服务器中添加 MIME 类型?
- android - 文本观察器自动完成仅适用于输入的第一个字符,然后停止
- scala - 使用 Double SCALA 数组过滤元组数组
- twitter-bootstrap - Bootstrap 手风琴 aria-expanded 不起作用
- visual-studio - 如何仅使用 MSBuild 的预定义任务将名称仅存在于 dir2 中的文件从 dir1 复制到 dir2
- html - 将 HTML 表格行的背景图像重叠到上面的图像中