【发布时间】:2021-05-24 01:58:45
【问题描述】:
我正在尝试在数据库中添加一个项目,但我不断收到 TypeError,请问我做错了什么。我有它的模型类,我正在使用 Django ModelForm 来实现 Create 操作。
错误日志
Traceback (most recent call last):
File "C:\Users\Habib\Documents\django\FIVERR\Alex_SMS\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\Habib\Documents\django\FIVERR\Alex_SMS\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Habib\Documents\django\FIVERR\Alex_SMS\SMS\core\views.py", line 26, in Addproduct
form = Addproduct()
Exception Type: TypeError at /add-product/
Exception Value: Addproduct() missing 1 required positional argument: 'request'
models.py
class Product(models.Model):
name = models.CharField(max_length=36)
price = models.PositiveIntegerField()
description = models.TextField()
quantity = models.PositiveIntegerField()
image = models.ImageField()
user = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.name
forms.py
from django import forms
from .models import *
class Addproduct(forms.ModelForm):
class Meta:
model = Product
fields = '__all__'
views.py
def Addproduct(request):
form = Addproduct()
if request.method == 'POST':
form = Addproduct(request.POST, request.FILES)
if form.is_valid():
form.save()
messages.success(request, "Products Added Successfully")
return redirect('product')
context = {"form":form}
return render(request, "core/addstation.html", context)
【问题讨论】:
-
您的视图名称是也
Addproduct。你基本上称之为而不是你的形式...... -
谢谢先生。我会改正的。
-
请您帮忙解决这个问题。 stackoverflow.com/questions/66294537/…
标签: python django django-models django-views django-forms