为什么我在尝试使用带有django的表单时会得到HTTP 405

时间:2018-06-07 21:22:13

标签: django-forms

我正在努力学习使用表单来完成我正在做的个人项目。我有一个表单应该从文本框中获取文本并从中创建一个Question(我的模型之一)并将其添加到数据库中。然后我希望它将浏览器重定向到另一个页面。

class AddView(generic.FormView):
    template_name = 'polls/contact.html'
    form_class = AddForm
    success_url = 'polls:index'

    def form_valid(self, form):
        form.add_question()
        return super().form_valid(form)

class IndexView(generic.ListView):
    template_name = 'polls/index.html'
    context_object_name = 'latest_question_list'

    def get_queryset(self):
        return  Question.objects.filter(pub_date__lte =timezone.now()).order_by('-pub_date')[:5]

这些是我正在使用的观点。 AddView再次输入我的问题文本,然后我想重定向到索引。

<form action="{% url 'polls:index' %}" method="post">
{% csrf_token %}
    <label for="question_text">Your question: </label>
    <input id="question_text" type="text" name="question_text" value="">
    <input type="submit" value="OK">
</form>

这是我添加视图的模板。 这是我的添加问题的表格

class AddForm(forms.Form):
    question_text = forms.CharField()

    def add_question(self):
        question = Question(question_text = self.question_text)
        question.save()
        return HttpResponseRedirect('polls:index')

0 个答案:

没有答案