0

list_users 变量包含用户名和 {{ i.username }} 列出所有可用的用户。它列出了所有可用的用户。现在,我想将用户选择的用户名的用户 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()

它是用共享模型编写的。上面的代码我做错了什么?

4

1 回答 1

0

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

这就是为什么我编辑我的视图看起来像这样:

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

现在工作正常。

于 2013-01-22T08:37:32.047 回答