Python “视图”;加上“产品”不起作用
我创建了一个包含名称和价格的模型。我提出了一个观点,可以帮助我在我的网站上添加产品:Python “视图”;加上“产品”不起作用,python,django,Python,Django,我创建了一个包含名称和价格的模型。我提出了一个观点,可以帮助我在我的网站上添加产品: def new_expense(request): if request.method == "EXPENSE": form = ExpenseForm(request.EXPENSE) if form.is_valid(): expense = form.save(commit=False) expense.save()
def new_expense(request):
if request.method == "EXPENSE":
form = ExpenseForm(request.EXPENSE)
if form.is_valid():
expense = form.save(commit=False)
expense.save()
return redirect('homebudget.views.expense_detail', pk=expense.pk)
else:
form = ExpenseForm()
return render(request, 'homebudget/edit_expense.html', {'form': form})
现在我有了这样的东西:
但当我点击save时,什么也没发生!我必须改变什么
forms.py:
class ExpenseForm(forms.ModelForm):
class Meta:
model = Expense
fields = ('name', 'price',)
models.py:
class Expense(models.Model):
name = models.CharField(max_length=40)
price = models.FloatField("price")
request.method
不能等于EXPENSE
,它只能是一个名称。同样,request.EXPENSE
没有定义。
我不知道请求是如何完成的,但您可能想要测试的是:
if request.method == 'POST':
form = ExpenseForm(request.POST)
注:
expense = form.save(commit=False)
expense.save()
及
它们是等价的
expense = form.save()