按钮未执行Django/Python脚本
在my home.html模板中:按钮未执行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'), 我
<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脚本。很抱歉,非常感谢您的帮助。不用担心,我已经添加了一个编辑来回复您在问题中所做的编辑。啊,明白了。是的,我是这方面的新手。谢谢你的澄清!