首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Django下拉表单和触发器python脚本

Python Django下拉表单和触发器python脚本
EN

Stack Overflow用户
提问于 2019-07-19 04:17:26
回答 1查看 548关注 0票数 0

使用Django和Python的菜鸟。创建一个带有下拉列表的导航栏(通过form.py填充)一旦用户选择了该项目,将显示另一个下拉列表。用户从列表中选择项目并点击提交后,喜欢触发python脚本来获取数据并在执行python脚本时以表格格式填充

以下代码: views.py:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
LOCATIONS = (
    ('DC1', 'DC1'),
    ('DC2', 'DC2'),
)
class SelectLocationForm(forms.Form):
    error_css_class = 'error'
    location = forms.ChoiceField(choices=LOCATIONS, required=True)
    class Meta:
        model = SelectLocation

以下是模板:

代码语言:javascript
运行
复制
<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 | LOG | SELECT APP ' FIND ','DELETE‘用户选择的FIND页面: w/ NAVBAR HOME | LOG |FIND 'FIND','DELETE’另一个下拉列表: SELECT LOCATIONS 'DC1','DC2','DC3‘按钮:SUBMIT用户单击按钮后,将运行python脚本。

EN

回答 1

Stack Overflow用户

发布于 2019-07-19 04:45:17

有几件事需要弄清楚。您的Python只能在服务器上运行。因此,Python生成的表单不再是真正的Python。

您可以使用普通的表单提交来将数据提交到服务器,在那里,您将需要查看从服务器上的表单提交中获取值,并采取某种操作。

如果所有内容都包装在一个Django表单中,并且页面有一个提交,那么这将在点击enter按钮或者只是使用JavaScript来发布页面数据时发布。请记住,这将刷新您的整个应用程序,因此在您的情况下,您需要仅使用JavaScript对服务器进行异步调用。然后获得对这些调用的响应(通过JavaScript),并使用JavaScript更新超文本标记语言,而不需要刷新页面。否则,您将需要研究会话管理,以避免用户每次刷新或提交页面时都会丢失所有更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57102059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档