如何在不使用Django和Python的表单的情况下获取HTML字段值

时间:2017-06-29 09:15:04

标签: python django

我需要一个帮助。当用户使用Django和Python点击views.py文件中的不同按钮时,我需要获取所有html字段值。我在下面解释我的代码。

<div class="boxwidthinnerdiv">
        Nuclear Mini Plant<br /><br />
        <select>
            <option>Reactor 1</option>
            <option>Reactor 2</option>
            <option>Reactor 3</option>
        </select>
        <br /><br /><br /><br />
        <a href="{% url 'start' %}"><button class="buttondiv" type="button">Start</button></a>
        <a href="{% url 'shut' %}"><button class="buttondiv">Shut Down</button></a>
        <a href="{% url 'suspend' %}"><button class="buttondiv">Suspend</button></a>
    </div>

当用户点击开始按钮时,选择字段值应该进入下面给出的views.py文件。

def start(request):
    status = 1

def shut(request):
    status = 0

def suspend(request):
    status = 2

这里我需要在每个动作中获取选择字段选择值。请帮帮我。

1 个答案:

答案 0 :(得分:1)

您不需要多个视图或链接。只需为按钮添加一个名称(例如,name =“type”),并为每个按钮添加如下值:

    <button name="type" value="start" class="buttondiv" type="button">Start</button>
    <button name="type" value="shut-down" class="buttondiv">Shut Down</button>
    <button name="type" value="suspend" class="buttondiv">Suspend</button>

然后在您的视图中通过从post请求获取类型值来检查按下哪一个。 例如:

#views.py

def your_view(request):
    if request.method == "POST":
        if request.POST.get('type') and request.POST.get('type') == "start":

            #do something when "Start" button pressed.

        elif request.POST.get('type') and request.POST.get('type') == "shut-down":

            #do something when "Shut Down" button pressed.

        elif request.POST.get('type') and request.POST.get('dl-type') == "suspend":

            #do something when "Suspend" button pressed.
    else:
        #do something when request is not post.
        #redirect or render a template for example.

像select这样的所有输入都可以像普通形式一样使用。

您可以打印帖子请求以查看可以使用的内容,并更好地了解其工作原理。