Python Django forms choicefield在渲染后为空

Python Django forms choicefield在渲染后为空,python,django,Python,Django,由于某些原因,我无法让它工作,所以请帮助我 我有一个choicefield,下拉列表中有3个选项。我可以选择他们的第一次,然后提交。但是,在我点击提交后,我想再次选择,但我的下拉列表变为空…我必须刷新页面才能再次显示。为什么? 我把表格放在里面是因为它很短 def home(request): class My_form(forms.Form): my_choices = [('TEST', 'TEST'), ('ABC', 'ACB'), ('XZY', 'XZY')]

由于某些原因,我无法让它工作,所以请帮助我

我有一个choicefield,下拉列表中有3个选项。我可以选择他们的第一次,然后提交。但是,在我点击提交后,我想再次选择,但我的下拉列表变为空…我必须刷新页面才能再次显示。为什么?

我把表格放在里面是因为它很短

def home(request):
  class My_form(forms.Form):
    my_choices = [('TEST', 'TEST'), ('ABC', 'ACB'), ('XZY', 'XZY')]
    symbol=forms.ChoiceField(choices=my_choices)
  if request.method == 'POST':
    test_form = My_form(request.POST)  
    if test_form.is_valid():
      symbol = test_form.cleaned_data['symbol']
      return render(request, 'blog/home.html',{'symbol':symbol}) 
    else:
      messages.error(request, "Error")   
  else:
    test_form = My_form()
  return render(request, 'blog/home.html', {'test_form':test_form} )
模板:

{% extends "blog/base.html"  %}
{% block content %}
<form  width="600px"  action="." method="post" >{% csrf_token %}


    <div class="row align-items-start">   
            <div class="col-sm-5">
                    <label for="symbol">Stocks</label>
                    <select  class="form-control" id="symbol" name ="symbol">
                            {% for key in test_form.symbol %}
                            <option >{{key}}</option>     
                            {% endfor%}
                    </select>
                    {{ test_form.errors }}
                    {{ test_form.non_field_errors }}
            </div>         
            <button type="submit" class="btn btn-primary">Submit</button>
    </div>        
</form>
{% endblock content %}
{%extends“blog/base.html”%}
{%block content%}
{%csrf_令牌%}
股票
{test_form.symbol%}中的键为%
{{key}}
{%endfor%}
{{test_form.errors}}
{{test_form.non_field_errors}}
提交
{%endblock内容%}

我认为在函数的POST部分,在返回行中,您不会将表单返回到上下文,因此在成功发布模板后,没有任何表单可呈现。在邮件的回信行中尝试以下操作:

返回呈现(请求'blog/home.html',{'symbol':symbol','test_form':test_form})