django post returning token not post data

I'm making a post from a webpage that is generated dynamically from Django DB content. The data is put into a combo box and is supposed to send the customer id back to Django so I can parse some more queries with it and then display only the customers data that was selected.

However instead of retruning my post data it returns the csrf token instead of the posted data.

<form method='post' action='' id='customers'>
{% csrf_token %}
        <select>
        {% for item in customer %}
        <option value={{ item.customer_id }} name='customer_id'>{{ item.customer_name }}</option>
        {% endfor %}
        <input type = 'submit' value='Edit'>
        </select>
{{ post }}
{{post.customer_id}} #doesnt work either.

this is what it returns:

<QueryDict: {u'csrfmiddlewaretoken': [u'CpzKrwmZsmfiiNHngNWDFSNxqUoBykYO']}>

def portal(request):

customers = Customer.objects.all()

if request.method == 'POST':
   vm_groups = Vm_group.objects.all()
   vms = Vm.objects.all()
   selected_customer = request.POST.copy()
   #selected_customer_id = selected_customer['customer_id']

   post = selected_customer
   context = Context({'customer': customers, 'vm_groups':vm_groups, 'vms':vms, 'post':post, 
                                               })

   return render(request, 'portal.html', context)

else:
   context = Context({'customer': customers,})
   return render(request, 'portal.html', context)

Also how would I get just the customer_id from the returned data once it works correctly?

selected_customer = request.POST.copy()
selected_customer_id = selected_customer['customer_id']

Like so?


You need to put the name attribute on the select element, not the option .

But you should probably be using Django's forms framework, anyway.


正如@Daniel所说的那样,您需要添加名称字段来选择标签而不是选项标签,

<select name='customer_id'>
        {% for item in customer %}
        <option value={{ item.customer_id }} >{{ item.customer_name }}</option>
        {% endfor %}
        <input type = 'submit' value='Edit'>
        </select>
链接地址: http://www.djcxy.com/p/56546.html

上一篇: 一系列带有Django的表单帖子会导致403错误

下一篇: django发布回复令牌不发布数据