Python django don';不在模板中显示表单

Python django don';不在模板中显示表单,python,django,django-views,django-forms,django-templates,Python,Django,Django Views,Django Forms,Django Templates,django不在我的模板中显示我的表单 问题在哪里 forms.py from django import forms class QuestionForm(forms.Form): massage = forms.CharField(widget=forms.TextInput) views.py from cheatexam_question.forms import QuestionForm def newquestion(request): if request.m

django不在我的模板中显示我的表单 问题在哪里

forms.py

from django import forms

class QuestionForm(forms.Form):
    massage = forms.CharField(widget=forms.TextInput)

views.py

from cheatexam_question.forms import QuestionForm
def newquestion(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        context = {
            'form': form
        }
    return render(request, 'homepage.html', context)
模板

        <form method="post">
            {% csrf_token %}
            {{ form }}
      <input class="btn btn-warning form-control" type="submit" value="ثبت سوال">
        </form>

{%csrf_令牌%}
{{form}}
GET请求用于检索页面,而POST请求用于提交表单。在这里,您只需在POST请求中构造一个表单。对于GET请求,您甚至没有定义
上下文
,这将导致错误

from cheatexam_question.forms import QuestionForm

def newquestion(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        # …
    else:  # GET request
        form = QuestionForm()
    context = {
        'form': form
    }
    return render(request, 'homepage.html', context)
来自考试\问题表单导入问题表单
新问题(请求):
如果request.method==“POST”:
表单=问题表单(request.POST)
# …
其他:#获取请求
表单=问题表单()
上下文={
“形式”:形式
}

return render(request,'homepage.html',context)
您仅为POST请求构造此项,对于GET请求,此项可能会引发错误。在未执行请求时,您需要使用else来显示表单。类似于:
else:form=QuestionForm()