Python 在Django中,我只想在post期间显示文本区域

Python 在Django中,我只想在post期间显示文本区域,python,html,django,Python,Html,Django,我的django项目有一个简单的页面 有两个单选按钮的窗体 字符字段 提交 当按下Submit时。 在my views.py中,如何捕获所选单选按钮值和char字段的值 提交时,应使用新的文本区域重新加载同一网页 该文本区域应包含Radio selection+char字段串联的值 到目前为止,我已经创建了基本表单,html视图。 我的主要问题是 我无法创建可以基于Get/Post隐藏的文本区域 从表单中捕获值并连接,然后在新文本区域中再次显示 views.py def index(reques

我的django项目有一个简单的页面

  • 有两个单选按钮的窗体
  • 字符字段
  • 提交
  • 当按下Submit时。 在my views.py中,如何捕获所选单选按钮值和char字段的值

    提交时,应使用新的文本区域重新加载同一网页 该文本区域应包含Radio selection+char字段串联的值

    到目前为止,我已经创建了基本表单,html视图。 我的主要问题是

  • 我无法创建可以基于Get/Post隐藏的文本区域
  • 从表单中捕获值并连接,然后在新文本区域中再次显示
  • views.py

    def index(request):
    form=SfvForm()
    if request.method == 'POST':
    f = SfvForm(request.POST)
        if f.is_valid():
            form.result_text("hi")
            return HttpResponseRedirect('index.html',{'posted':"posted"},{'form':form})
        else:
            return render_to_response("index.html",{"form":form} , context_instance = RequestContext(request))
    else:
        return render(request,'index.html',{'form':form})
    
    forms.py

    class SfvForm(forms.Form):
    CHOICES=[('production','production'),('stage','stage')]
    selected_env=forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect(), )
    table_name=forms.CharField(required=True)
    result_text=forms.CharField() /*Making it as text area is not displaying the form element at all*/
    
    index.html

    <!DOCTYPE html>
    <html>
    <head>
        <title>SFV</title>
    </head>
    
    <body>
        <h1> hello world!</h1>
        <form id="form" method="post" action="/sfv/">
            {% csrf_token %}
            {{ form.as_p }}
    
        </form>
        <form id="form" method="get" action="/sfv/">
            {% csrf_token %}
            {{ form.as_p }}
            <input type="submit" value="submit"/>
        </form>
    
        </body>
    </html>
    
    
    SFV
    你好,世界!
    {%csrf_令牌%}
    {{form.as_p}}
    {%csrf_令牌%}
    {{form.as_p}}
    
    这是因为当您使用以下命令重定向时:

    return HttpResponseRedirect('index.html',{'posted':"posted"},{'form':form})
    
    您需要使用以前发布的
    表单

    def index(request):
        form=SfvForm() #<- populate here
    
    def索引(请求):
    
    form=SfvForm()#为什么不写两个不同的页面?(一个带有第一个表单,另一个带有第二个表单)并在表单成功提交时重定向到第二个表单?假设它像计算器一样。显示结果后,将使用同一页面提供更多输入。我不希望用户再次来回遍历。好的,你看了我下面的答案了吗?