Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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下拉菜单项queryset_Django_Html_Bootstrap 4 - Fatal编程技术网

获取django下拉菜单项queryset

获取django下拉菜单项queryset,django,html,bootstrap-4,Django,Html,Bootstrap 4,我正在尝试制作一个日历html页面,它有一个下拉按钮来选择不同的月份。如何通过base.html base.html-如何进入日历页面 .... .... <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" data-toggle="dropdown" data-target="scheduler_dropdown" href="#"><i class="fas fa-cale

我正在尝试制作一个日历html页面,它有一个下拉按钮来选择不同的月份。如何通过
base.html

base.html-如何进入日历页面

....
....
<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" data-target="scheduler_dropdown" href="#"><i class="fas fa-calendar"></i>Scheduler</a>
    <div class="dropdown-menu" aria-labelledby="scheduler_dropdown">
         <a class="dropdown-item" href="{% url 'view_schedule' %}"><i class="fas fa-calendar-alt"></i>View Schedule</a>
    </div>
</li>
查看\u schedule.html

<div class="card-header">
    Schedule for {{ month_name }} {{ year_name }}

    <form class="date-selector" method="post">
    {% csrf_token %}

    <div class="dropdown">
        <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <i class="far fa-caret-square-down"></i>
        </button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=1 %}>Jan</a>
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=2 %}>Feb</a>
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=3 %}>Mar</a>
        </div>
    </div>
    </form>
</div>

{{month_name}{{year_name}}时间表
{%csrf_令牌%}
我的问题是,当我单击下拉按钮并选择相关月份
Jan、Feb、Mar
时,url会更改,但在我的
views.py
中,查询集不会出现。因此,我无法提取查询以进行处理


有什么想法吗?

我本来可以打印(所选的月份)并打印查询结果。。我是在看这段视频时想到的:

不要使用
urlpatterns
来处理查询字符串<代码>URL模式仅处理URL本身;查询参数是GET数据的一部分,在回调方法中处理。您需要更改HTML、
urlpatterns
,以及视图的工作方式以适应这种情况

urlpatterns = [
    path('schedule/view-schedule/', views.view_schedule, name='view_schedule'),
]
在HTML中,您需要一个带有下拉列表的表单,该表单可以将数据获取到上面的URL。你可以用这个

然后在视图中,您可以从
请求中提取GET数据。GET
。具体来说,如果您按照上述建议使用了
select
标记,那么用户的选择将在
request.GET[NAME]
中,其中NAME是
select
标记的名称

还有其他的方法,取决于审美喜好等,但我上面解释的方法可能是最简单的


此外,查询集(或QuerySet)在Django中有非常特殊的含义。它是指数据库查询中使用的对象类型。HTML表单的结果不是“查询集”。

您可以这样做,但不建议通过
urlpatterns
处理查询字符串。看看我的答案。
<div class="card-header">
    Schedule for {{ month_name }} {{ year_name }}

    <form class="date-selector" method="post">
    {% csrf_token %}

    <div class="dropdown">
        <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <i class="far fa-caret-square-down"></i>
        </button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=1 %}>Jan</a>
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=2 %}>Feb</a>
            <a class="dropdown-item" href={% url 'view_schedule_selected_month' selected_month=3 %}>Mar</a>
        </div>
    </div>
    </form>
</div>
urlpatterns = [
    path('schedule/view-schedule/', views.view_schedule, name='view_schedule'),
]