视图中的保存方法

1 投票
1 回答
1209 浏览
提问于 2025-04-15 14:39

我有一个非常简单的模型:

class Artist(models.Model):
 name = models.CharField(max_length=64, unique=False)
 band = models.CharField(max_length=64, unique=False)
 instrument = models.CharField(max_length=64, unique=False)

 def __unicode__ (self):
  return self.name

我把它当作一个表单模型:

from django.forms import ModelForm 
from artistmod.artistcat.models import *

class ArtistForm(ModelForm):
 class Meta:
  model = Artist

但是我似乎无法创建一个视图,来把表单数据保存到数据库里。目前我在使用:

def create_page(request):
    if request.method == 'POST':
            form = ArtistForm(request.POST) 
            if form.is_valid(): 
                    form.save()
                    return render_to_response('display.html')
    else:
            form = ArtistForm()
    return render_to_response('create.html', {
        'form': form,
})

有没有人能帮帮这个新手呢?

1 个回答

1

显然,问题出在我的模板上。我使用的是

    <form action="display/" method="POST">

而不是

    <form action="." method="POST">

我还把我的HttpRequest对象从 render_to_response 改成了 HttpResponseRedirect

这些都是初学者常犯的错误,但现在至少它能正常工作了

撰写回答