我正在尝试保存已选中的复选框。
我现在遇到的问题是,当我按下电子邮件按钮时,页面变成空白,当我尝试返回时,它会询问我是否要"确认表单重新提交"。我也尝试在表单标签中链接相同的页面:
<form action="{% url 'ordered_user_list' %} method="post">
请注意,除了重新加载同一页面外,电子邮件按钮不应执行任何操作,但必须像以前一样检查这些框。另外,如果我从另一个页面回来,它仍然应该像以前一样检查。
在html文件中
<form method="post">
<table class="table">
<tr>
<th></th>
<th><u><a href="{% url "ordered_user_list" %}">Last Name</a></u></th>
<th><u><a href="{% url "ordered_user_list_first" %}">First Name</a></u></th>
<th style="width: 30%"><u><a href="{% url "ordered_user_list_email" %}">Email</a></u></th>
<th><u>Phone</u></th>
</tr>
{% for user in object_list %}
<tr>
<td><input type="checkbox" name="emailList" value="{{user.id}}"></td>
<td><a href="{% url "user_info" user.id %}"> {{ user.lastName|capfirst }}</a></td>
<td><a href="{% url "user_info" user.id %}">{{ user.firstName|capfirst }}</td>
<td>{{ user.email }}</td>
<td>{{ user.phone }}</td>
</tr>
{% endfor %}
</table>
{% csrf_token %}
<input class = "btn btn-danger" type="submit" value="Email"/></form>
视图文件中的
class OrderedUserList(ListView):
model = User
template_name = "Schedule/ordered_user_list.html"
def dispatch(self, *args, **kwargs):
if not self.request.user.is_authenticated() or (not self.request.user.admin and not self.request.user.volunteer_coordinator):
return forbidden()
checked = request.POST.get('emailList')
return super(OrderedUserList, self).dispatch(*args, **kwargs)
答案 0 :(得分:0)
您可以使用&#39; set_cookie&#39;设置COOKIE(在您的视图中)来保存选择。然后你可以在你的会话中访问这个cookie,并在任何你想要的地方获取选择的值。但请记住1)cookie将你的选择保存为单个字符串,所以要小心你如何保存你的选择,这样就更容易提取它们稍后(使用字符串拆分方法)和2)它有一个缺点,这将是一个系统相关的解决方案,因为如果你在一个设备上保存cookie并尝试从其他设备/系统登录,则无法访问cookie。同时,希望这有帮助......