Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python html中的多个按钮、相同视图、不同值_Python_Django_Django Forms_Django Views - Fatal编程技术网

Python html中的多个按钮、相同视图、不同值

Python html中的多个按钮、相同视图、不同值,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我试图让我的html在html页面上显示session.counter。计数器应按随机数递增,递增范围有4个不同选项(基于按钮)。到目前为止,我已经将它们的所有操作路由到同一个视图,但我不确定如何将这些值编码到视图中!我可以在视图中嵌套多个if检查吗?如果是这样,我是否需要在每次检查后立即重定向,还是可以在If检查后重定向? 编辑:我已经尝试添加隐藏的输入,以使我的视图更有效。我还是个新手,所以如果你的反馈越具描述性,我就越容易实施更改并理解原因 以下是html: <div

我试图让我的html在html页面上显示session.counter。计数器应按随机数递增,递增范围有4个不同选项(基于按钮)。到目前为止,我已经将它们的所有操作路由到同一个视图,但我不确定如何将这些值编码到视图中!我可以在视图中嵌套多个if检查吗?如果是这样,我是否需要在每次检查后立即重定向,还是可以在If检查后重定向? 编辑:我已经尝试添加隐藏的输入,以使我的视图更有效。我还是个新手,所以如果你的反馈越具描述性,我就越容易实施更改并理解原因

以下是html:

        <div id="goldCount">
    <h2>Gold Count: {{ session.request.goldCount }}</h2>
</div>

<div id="goldNode">
    <h2>Blood Lotus Master</h2>
    <h5>(earns 50 to 200 gold coins)</h5>
    <form action='/process_gold' method="post">
        {% csrf_token %}
        <input type="hidden" name="earn" value="reap">
        <button type="submit" name="reap">収める - Reap</button>
    </form>
</div>

<div id="goldNode">
    <h2>Shadow Dance Troupe</h2>
    <h5>(earns 35 to 50 gold coins)</h5>
    <form action='/process_gold' method = "post">
        {% csrf_token %}
        <input type="hidden" name="earn" value="weave">
        <button type = "submit" name = "weave">織る - Weave</button>
    </form>
</div>

<div id="goldNode">
    <h2>Necromancy</h2>
    <h5>(earns -200 to 200 gold coins)</h5>
    <form action='/process_gold' method="post">
        {% csrf_token %}
        <input type="hidden" name="earn" value="summon">
        <button type = "submit" name="summon">召喚 - Summon</button>
    </form>
</div>

<div id="goldNode">
    <h2>Clan War!</h2>
    <h5>(earns -2000 to 2000 gold coins)</h5>
    <form action='/process_gold' method="post">
        {% csrf_token %}
        <input type="hidden" name="earn" value="summon">
        <button type="submit" name="war">影の戦争 - Shadow War</button>
    </form>
</div>

如果要通过HTML发送
goldCount
,则需要使用渲染模板,而不是重定向。将
goldCount
存储到会话中,然后在HTML中调用
{{request.session.goldCount}

此外,正确的if语句应为:

if 'goldCount' not in request.session:
    request.session['goldCount'] = 0 

您发布的代码无效(使用前未定义goldCount)。在视图中也为
request.POST
赋值是没有意义的。你能详细说明一下吗?我是个新手,所以你能提供的解释越多,我就能更好地实现更改和改进代码!我被告知使用隐藏字段,但我以前从未这样做过(仍然尝试过)。stefanw,你建议如何修复发布的代码?到目前为止,我的html还没有显示我的goldCount!我正在更新上面的代码以反映更改!
if 'goldCount' not in request.session:
    request.session['goldCount'] = 0