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()