Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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
使用Django将值从html输入传递到python脚本_Python_Django - Fatal编程技术网

使用Django将值从html输入传递到python脚本

使用Django将值从html输入传递到python脚本,python,django,Python,Django,因此,基本上,我一直试图弄清楚的是如何使用Django将值从表单传递到python脚本中 这是我的表单代码,我想将stateLand的值传递到python脚本中 <form action= '*******' method="POST"> {% csrf_token %} Land: <input type="text" name="stateLand" /> </br> <input type="submit" value="S

因此,基本上,我一直试图弄清楚的是如何使用Django将值从表单传递到python脚本中

这是我的表单代码,我想将stateLand的值传递到python脚本中

<form action= '*******' method="POST">
{% csrf_token %}
    Land: <input type="text" name="stateLand" />
    </br>
    <input type="submit" value="Submit" />
</form>
现在我只有24000个硬编码到脚本中。我已经尝试了很多方法来让它发挥作用,但似乎都没有效果。你们有什么建议可以让这一切顺利进行吗?python脚本对输入的数字进行一些计算

我试过不同的方法,比如

request.POST.get('stateLand')

stateLand  = form.getvalue("stateLand")

import cgi
form = cgi.FieldStorage()
stateLand = form["stateLand"]

你很接近。您需要通过
请求访问post参数。获取

def ar(request):
    if request.method == 'POST':
        state = request.POST['stateLand']
        return render(request, 'ar.html', {'state':state}) # this just returns whatever was posted as stateland right now
    else:
        return render(request, 'ar.html')

还可以使用某些方法创建类视图:

class MyClass(View):
    def post(self, request):
        data=request.POST

        #will be better to use django forms
        #form = self.MyClassForm(data=data)
        #if form.is_valid():

        stateLand  = data.get("stateLand", None)

似乎也没法让它发挥作用。x=state(“,”)只是创建一个类的空白对象来调用它的主函数。当我使用requests.get时,它会给我以下错误:无效URL u'stateLand':未提供架构。也许你指的是州政府
def ar(request):if request.method='POST':from raids import state stateLand=requests.get('stateLand')x=state(“,”)返回render(request,'ar.html',{'state');否则:返回render(request,'ar.html')
requests.get使用URL从中获取数据。所以除非我能从中获取具体的值,否则它不会起作用。我认为这对于get方法来说是有效的。因为您使用的是post,所以通常也会使用表单,并检查它在视图中是否有效。上面的代码可能不需要一个。下面是正确使用表单视图的链接:我总是使用
request.POST.get('stateLand','')
这很简单。。。。我所需要的只是,”),我想如果没有提供任何内容,那么使用默认值是有意义的。
class MyClass(View):
    def post(self, request):
        data=request.POST

        #will be better to use django forms
        #form = self.MyClassForm(data=data)
        #if form.is_valid():

        stateLand  = data.get("stateLand", None)