[英]How to trigger a python script on the django server for the particular form input?
[英]Python Django dropdown form and trigger python script
Django和Python的新手。 创建一个带有下拉列表的导航栏(通过form.py填充)用户选择该项目后,将显示另一个下拉列表。 用户从列表中选择项目并单击提交后,喜欢触发python脚本以获取数据并以表格式填充粘滞执行python脚本
以下代码:views.py:
class StatusLayoutPageView(FormView):
template_name = "status_layout.html"
form_class = SelectLocationForm
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
return super().form_valid(form)
class DataView(FormView):
## This will contain the output
template_name = "data.html"
form_class = SelectLocationForm
这是models.py
LOCATIONS = (
('DC1', 'DC1'),
('DC2', 'DC2'),
)
class SelectLocationForm(forms.Form):
error_css_class = 'error'
location = forms.ChoiceField(choices=LOCATIONS, required=True)
class Meta:
model = SelectLocation
这是模板:
<form method="post">{% csrf_token %}
<select name="location">
<option selected>Select Location</option>
{% for val in form.location %}
<option value="{{ val }}"></option>
{% endfor %}
</select>
<p>
<button align="center" class="button execute" name="submit" value="submit">GO TO</button>
</form>
遇到的问题是如何判断用户基于该页面选择的值。 也可以使用onclick按钮,将数据传递到python脚本以通过数据运行并以表格式输出回去。
预期输出:FrontPage:NAVBAR:HOME | 日志| SELECT APP ['FIND','DELETE']用户选择的FIND
页面已加载:w / NAVBAR HOME | 日志| 查找['查找','删除']另一个下拉列表:选择位置['DC1','DC2','DC3']按钮: SUBMIT
用户单击按钮后,它将运行python脚本。
需要清除的几件事。 您的Python仅在服务器上运行。 因此,Python生成的表单不再是实际的Python。
您可以使用普通的表单提交将数据发布到服务器,然后需要在服务器上通过表单POST获取值并采取某种措施。
如果所有内容都以Django形式包装,并且页面具有提交,则将在按下Enter键或仅使用JavaScript POST页面数据时发布。 请记住,这将刷新整个应用程序,因此,在这种情况下,您需要仅使用JavaScript对服务器进行异步调用。 然后,您将获得对这些调用的响应(通过JavaScript),并使用JavaScript更新HTML,而无需刷新页面。 否则,您需要研究会话管理,以避免在每次刷新或提交页面时浪费所有用户更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.