繁体   English   中英

表单发布Django

[英]Form posting Django

我无法将django应用发布到数据库。 我正在尝试传递我的外键,以便可以正确发布它。

抱歉,如果它是基本的东西,我想念的只是我刚开始。 我认为它永远不会形成= ResultForm(request.POST)。 并给我表格= ResultForm。

这是我的代码:

模型:

class Result(models.Model):
    category = models.ForeignKey(Category)
    category_result = models.CharField(max_length=200)
    rating = models.DecimalField('', '', 8, 3)
    votes = models.IntegerField(default=0)
    created_by = models.IntegerField(default=0, null=True, blank=True)
    created_on = models.DateTimeField('created on')
    def __unicode__(self):
        return self.category_result

形成:

class ResultForm(forms.ModelForm):
    category_result = forms.CharField(max_length=200,help_text="Your best line")
    rating = forms.DecimalField(widget=forms.HiddenInput(), initial=0)
    votes = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
    created_by = forms.IntegerField(widget=forms.HiddenInput(), initial=1)
    category = forms.IntegerField(widget=forms.HiddenInput())
    class Meta:
        model = Result
        fields = ('category_result', 'rating', 'votes')

视图:

def help_out(request, category_id):
    if request.method == 'POST':
        form = ResultForm(request.POST)

        if form.is_valid():
            form.save(commit=False)
            form.category = category_id
            form.save()

            return index(request)

        else:
            print form.errors

    else:
        form = ResultForm
    context = {'form': form, 'category_id': category_id}
    return render(request,'pocketwingman/help_out.html', context)

模板:

<!DOCTYPE html>
<html>
    <head>
        <title>Pocketwingman</title>
    </head>

    <body>
        <h1>Add a Result</h1>

            <form id="result_form" method="post" action="/pocketwingman/help_out/{{category_id}}/">

                {% csrf_token %}
                {% for hidden in form.hidden_fields %}
                    {{ hidden }}
                {% endfor %}

                {% for field in form.visible_fields %}
                    {{ field.errors }}
                    {{ field.help_text}}
                    {{ field }}
                {% endfor %}

                <input type="submit" name="submit" value="Create Line" />
            </form>

    </body>

</html>

网址配置:

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^(?P<category_id>\d+)/$', views.help_me, name='help_me'),
    url(r'^help_out/(?P<category_id>\d+)/$', views.help_out, name='help_out'),

)

如果不是POST,则应启动表单:

else:
    form = ResultForm()

append ()形成类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM