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模型编写的。我上面的代码出了什么问题?
答案 0 :(得分:0)
事实证明,这根本不是Django错误。这是一个简单的HTML错误。 option tag
没有名为name
的属性,但select
没有。
这就是我编辑视图的原因:
person = request.POST.getlist('username')
现在工作正常。