无法从Django模板获取选项名称并传递给视图?

时间:2013-01-22 05:17:23

标签: django

list_users变量包含用户名,{{i.username}}列出所有可用用户。它列出了所有可用的用户。现在,我想传递userid以获取用户选择的用户名并将id转到django视图。

  <select name="select">
     {% for i in list_users %}
        <option value="{{ i.id }}" name="username">{{ i.username }}</option>
     {% endfor %}
     </select>

 if request.POST.get('share'):
            choices = request.POST.getlist('choice')
            person = request.POST.getlist('username')
            for i, j in zip(choices, person):
                start_date = datetime.datetime.utcnow().replace(tzinfo=utc)
                a = Share(users_id=log_id, files_id=i, shared_user_id=j, shared_date=start_date)
                a.save()
            return HttpResponseRedirect('/uploaded_files/')

当我点击分享时,没有任何内容写在共享模型中。但如果我喜欢这样:

for i in choices:

    start_date = datetime.datetime.utcnow().replace(tzinfo=utc)
    a = Share(users_id=log_id, files_id=i, shared_user_id=2,    shared_date=start_date)
    a.save()

它是用Share模型编写的。我上面的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

事实证明,这根本不是Django错误。这是一个简单的HTML错误。 option tag没有名为name的属性,但select没有。

这就是我编辑视图的原因:

 person = request.POST.getlist('username')

现在工作正常。