如何在django表单中自动指定表单值

时间:2014-12-08 03:44:29

标签: django-forms

我正在使用Django表单 这是我的模特

class Genre(models.Model):
    gen_name = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __str__(self):
        return self.gen_name

这是我的表格

class Genreform(forms.ModelForm):
    class Meta:

        model=Genre
        fields={ 'gen_name','pub_date'}

但我想手动分配pub_date(即用户不必填写) 所以我做了

class Genreform(forms.ModelForm):
    pub_date=forms.DateTimeField(widget=forms.HiddenInput(),initial=timezone.now())
    class Meta:

        model=Genre
        fields={ 'gen_name'}

但这不起作用

这是我的请求处理程序

def create_genre(request):
    #pdb.set_trace()
    if request.POST:
        form = Genreform(request.POST)
        if form.is_valid():

            form.save()

            return HttpResponseRedirect('http://127.0.0.1:8000/playlist/home')
    else:
        form=Genreform()

    args={}
    args.update(csrf(request))
    args['form'] = form
    return render_to_response('playlists/add_gen.html',args)

请建议一种自动填充pub_date的方法

1 个答案:

答案 0 :(得分:0)

这是正确的代码

class Genreform(forms.ModelForm):
pub_date=forms.DateTimeField(widget=forms.HiddenInput(),initial=timezone.now())
class Meta:

    model=Genre
    fields={ 'gen_name','pub_date'}