当前位置: 首页 > 知识库问答 >
问题:

如何在Django中读取下拉菜单的内容?

薛英卫
2023-03-14

我有两个下拉菜单,我想检索它的值,将它们用作变量,以过滤从内部Web API检索到的数据

意见。派克

# I want to retrieve the year and week number, so I can use them as values in my filter
def filter():
    filters = {"filter": {
        "filters": [{
            "field": "DateTime",
            "operator": "gte",
            "value": "2017-07-23 23:59:59"
        }, {
            "field": "DateTime",
            "operator": "lte",
            "value": "2017-08-18 23:59:59"
        }],
        "logic": "and"
    }}

我没有使用Django表单,因为我没有保存年份以外的任何其他数据,我正在生成周数,但是,如果你认为使用Django表单来促进数据处理可能是有用的,那么写下你的观点,我想让这个网络应用更好。

标题。html

<form method="POST"> {% csrf_token %}
    <h6>Select year</h6>
    <select name="select_year">
      <option value = "2016" >2016</option>
      <option value = "2017"> 2017</option>
      <option value = "2018"> 2018</option>
    </select>
      <h6>Select week</h6>
      <select name="select_week">
      <!--range is not supported: the spaces represent the number of weeks -->
     {% for week in "                                                    " %}
        <option value="{{forloop.counter}}">{{forloop.counter}}</option>
    {% endfor %}
    </select>
    <button type="submit">Search</button>
</form>

警告:我担心生成周数的代码是完全错误的,因为它不是正确的解决方案,我已经阅读了以下文章Django模板中的数字循环,在for循环中迭代数字,但这是离题的,我的首要任务是获取这两个下拉菜单的值。

共有1个答案

赏高格
2023-03-14

解决方案:

def your_view(request):
    if request.method == 'POST':
        year = request.POST.get('select_year', None)
        week = request.POST.get('select_week', None)

        # rest of the code

在html模板中的表单中添加一个操作,在Django中为其添加一个urlpattern,该操作由your_view方法处理
request
对象将数据存储在POST字典中,键基于html标记名称

然后,您可以将这些值传递给您的filter方法,以便按照您的意愿格式化筛选器。

注意:使用Django表单可能更好,因为这样可以节省编写HTML代码和清理值的时间。

裁判:https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.POST

 类似资料:
  • 问题内容: 我是django和jquery的新手。我正在开发一个基于django的应用程序,其中有3个下拉列表。1.校园2.学校3.中心 层次结构是:校园有学校,学校有中心。我想链接这些下拉菜单。 例如,我有3个校园,例如Campus1,Campus2,Campus3。如果选择“校园1”,则应该只选择“校园1”中的学校并继续执行此操作;如果选择“学校1”,则需要能够选择“学校1”的中心,并且所有其

  • 问题内容: 我有以下形式的数据 我想要两个下拉菜单。第一个下拉列表将显示“名称”。当用户从第一个下拉列表中选择名称时,应在第二个下拉列表中填充相应的“版本”。 无效的jsfiddle链接:http://jsfiddle.net/fynVy/174/ 问题答案: 您需要调整HTML模板,以便第一个下拉列表显示服务器名称,并且第二个下拉列表的选项基于所选下拉列表(第一个下拉列表的ngModel)中的版

  • 从'React'导入React,{useState};//导入useState从'react-native-dropdown-picker'中导入DropDownPicker;从“React-Native”导入{样式表、文本、视图、文本输入、状态条、安全视图、图像、按钮、警报};

  • 问题内容: 我有一个按BusinessBranch模型输入的城市外键。我的城市模型还具有州和县模型的州和国家外键。我很难在BusinessBranchInline中显示州和国家/地区下拉菜单。实现这一目标的最佳方法是什么?如果下拉列表根据其父项的值过滤项目,那就太好了。 问题答案: 有了一点黑客,这是相当可行的。 在以下示例中,使用County代替State和Municipality代替City。

  • 问题内容: 我想创建一个多选保管箱列表。实际上,我必须使用下拉菜单选择多个选项。当我如下所示简单地执行此操作时: 然后,复选框显示在下拉字段的前面。但是我想为每个选项而不是整体创建它,以便我可以选择多个选项。有什么办法吗? 问题答案: 这是一个简单的下拉清单 CSS //标记和脚本

  • 问题内容: 我正在一个涉及使用PHP脚本自动填充选择框的网站上工作。除了问题是我用来填充文本框的标题非常长(它们是期刊文章和演示文稿标题)外,所有其他方法都工作正常。下拉框延伸到最长元素的宽度,该元素延伸超出屏幕边缘,因此使滚动条无法触及。我尝试了多种尝试使用CSS手动将下拉框设置为特定宽度的方法,但到目前为止都无济于事。我所能做到的最好的事情是将“选择”框设置为一定的宽度,但是下拉菜单本身要宽得