django - 获取 django 下拉菜单项查询集
问题描述
我正在尝试制作一个日历 html 页面,它有一个下拉按钮来选择不同的月份。如何访问此日历页面是通过nav bar
创建于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>
到目前为止我已经建立了什么:
网址.py
urlpatterns = [
path('schedule/view-schedule/', views.view_schedule, name='view_schedule'),
path('schedule/view-schedule/?query=month<str:selected_month>', views.view_schedule,
name='view_schedule_selected_month'),
]
视图.py
def view_schedule(request, selected_month=None):
if request.method == 'POST':
print('post')
else:
current_month = date.today().month
current_year = date.today().year
# a = request.GET # How to get query set from dropdown menu???
# print(a)
args = {
'month_cal': monthcalendar(current_year, current_month),
'month_name': calendar.month_name[current_month],
'year_name': current_year,
}
return render(request, 'static/html/view_schedule.html', args)
view_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>
我的问题是,当我单击下拉按钮并选择相关月份Jan, Feb, Mar
时,url 发生了变化,但在我views.py
的 中,查询集没有出现。所以我无法提取查询进行处理。
有什么想法吗?
解决方案
原来我本来可以做print(selected_month)
的,它会打印查询结果。当我看这个视频时,我明白了:https ://www.youtube.com/watch?v=qmxoGYCFruM
推荐阅读
- rest - RESTful 端点过长可以吗?
- python - 从函数/类返回后如何使列表为空
- powershell - 删除内置管理员
- hadoop - 基于hive中每种文件格式的场景
- reactjs - Axios 请求在 React-Native 中返回错误
- sql-server - %%physloc%% 可以用作动态查询的行标识符或键吗?
- python - 通过 paramiko 和 ssh 发送的相同命令适用于 ssh 而不是 paramiko
- docker - 将 Docker 容器限制为运行它的 UNIX 用户
- mysql - ERROR 1451 无法从父表中删除记录
- php - 内连接多ms访问数据库