Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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/Python脚本_Python_Django - Fatal编程技术网

按钮未执行Django/Python脚本

按钮未执行Django/Python脚本,python,django,Python,Django,在my home.html模板中: <button type="button" class="btn btn-dark" method = 'GET' action = '/action_name/' name="audio_record">Record Audio</button> 在my url.py中: path('/action_name/', views.audio_functions, name='audio-record'), 我

在my home.html模板中:

  <button type="button" class="btn btn-dark"
          method = 'GET' action = '/action_name/' name="audio_record">Record Audio</button>
在my url.py中:

path('/action_name/', views.audio_functions, name='audio-record'),
我做错了什么

编辑:我将按钮替换为以下建议版本:

  <a href="{% url 'audio-record' %}" class="btn btn-dark"
    >Record Audio</a>


但我有一个新问题。实际上,我不想通过url/action\u名称重定向到。我只想在浏览器中触发python脚本。我该怎么做呢?

在您的
url.py
中,您不需要前导正斜杠,因为django会自动添加它。用这个替换它,它应该可以工作:

path('action_name/', views.audio_functions, name='audio-record'),
另外,
方法
操作
属性通常会出现在
标签中,而不是
按钮
标签中。同时,在按钮上将
类型
更改为
提交

正如@salaheddineelghari所说,您应该真正使用
{%url'音频记录“%}
,而不是对url进行硬编码,但是在这种情况下这不是问题所在(您不应该在
url
中使用前导斜杠,因为这将留给带有双斜杠的url)

编辑-响应您的编辑:
不能在浏览器中触发python脚本。这是一个常见的误解。Django是一个用python构建的web框架。但是在浏览中发生的任何事情都必须在javascript中发生。如果您想使用python,您需要调用某个django端点,执行python,然后将其发送回。

urls.py
中,您不需要前导正斜杠,因为django会自动添加它。用这个替换它,它应该可以工作:

path('action_name/', views.audio_functions, name='audio-record'),
另外,
方法
操作
属性通常会出现在
标签中,而不是
按钮
标签中。同时,在按钮上将
类型
更改为
提交

正如@salaheddineelghari所说,您应该真正使用
{%url'音频记录“%}
,而不是对url进行硬编码,但是在这种情况下这不是问题所在(您不应该在
url
中使用前导斜杠,因为这将留给带有双斜杠的url)

编辑-响应您的编辑: 不能在浏览器中触发python脚本。这是一个常见的误解。Django是一个用python构建的web框架。但是在浏览中发生的任何事情都必须在javascript中发生。如果要使用python,需要调用某个django端点,执行python,然后将其发送回。

在html中:

   <a href="{% url 'audio-record' %}" class="btn btn-dark"
        >Record Audio</a>
在html中:

   <a href="{% url 'audio-record' %}" class="btn btn-dark"
        >Record Audio</a>

这似乎不起作用(当我点击按钮时,我的终端上没有打印任何内容)@NBC我已经更新了答案。如果它仍然不起作用,当你点击按钮时,你能添加你的开发工具的网络部分所显示的内容吗。请求的响应代码是什么?它发送吗?好的,我让它工作了,但我想我本来就搞砸了。实际上,我不想通过url/action\u名称重定向到。我只想在浏览器中触发python脚本。很抱歉,非常感谢您的帮助。不用担心,我已经添加了一个编辑来回复您在问题中所做的编辑。啊,明白了。是的,我是这方面的新手。谢谢你的澄清!这似乎不起作用(当我点击按钮时,我的终端上没有打印任何内容)@NBC我已经更新了答案。如果它仍然不起作用,当你点击按钮时,你能添加你的开发工具的网络部分所显示的内容吗。请求的响应代码是什么?它发送吗?好的,我让它工作了,但我想我本来就搞砸了。实际上,我不想通过url/action\u名称重定向到。我只想在浏览器中触发python脚本。很抱歉,非常感谢您的帮助。不用担心,我已经添加了一个编辑来回复您在问题中所做的编辑。啊,明白了。是的,我是这方面的新手。谢谢你的澄清!