【问题标题】:No POST response when using checkbox form in my Django template在我的 Django 模板中使用复选框表单时没有 POST 响应
【发布时间】:2011-06-21 01:51:04
【问题描述】:

您好,我正在尝试删除用户选择的事件 复选框以检查要删除的事件。但对于 每当我打电话 request.POST.get('event_list') 什么都没有 即使选中了框,我也收到了,但最终我什么也没有。 这是我的模板和应该删除所选视图的视图 事件。

 {% if event_list %}
       {% for event in event_list%}
               {%csrf_token%}
               <input type="checkbox" name="event_list"
id="event{{ forloop.counter }}" />
               <label for="event{{ forloop.counter }}">{{ event.title }}</
label><br />
       {% endfor %}
       <input type = 'submit' value = 'delete checked'>
       </form>
       <p>{{removal}}<p/>    {%comment%} this is what should be
removed{%endcomment%}
       {% if delete_error %}
               <p>{{delete_error}}</p>
           {% endif %}

views.py

def EventDelete(request):
       removal = request.POST.get('event_list')
       if removal:
               removal.delete()
       else:
               delete_error = "You didn't delete anything"
       return redner_to_response("detail.html", {'delete_error':
delete_error, 'removal': removal},
context_instance=RequestContext(request))

我不确定为什么删除中没有任何内容,不应该有吗 事件的标题在哪?不幸的是,我对 html 及其工作原理知之甚少 :( 我非常感谢您的帮助 :) 我觉得这是一个简单的修复,我只是错过了一个小细节。谢谢:)

【问题讨论】:

  • redner_to_response 应该是 render_to_response

标签: html forms checkbox django-templates


【解决方案1】:

复选框没有任何价值,因此您只会“打开”发送到服务器。

这个:

<input type="checkbox" name="event_list"
 id="event{{ forloop.counter }}" />

应该阅读

<input type="checkbox" name="event_list"
 id="event{{ forloop.counter }}" value="{{ forloop.counter }}" />

然后(一旦服务器收到一个 id 列表),您处理它的代码看起来是错误的,您需要以某种方式加载 id 列表,并找出要删除的内容。你可能想要类似的东西

removal = request.POST.get('event_list')
for id in removal:
     event = get_object_or_404(Event, pk=id)
     event.delete()

我认为你有很多东西要学!查看firebug 以监控实际发送回服务器的内容。转到w3schools to learn about forms,并阅读 django 文档以处理删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    相关资源
    最近更新 更多