2013-01-22 46 views
0

list_users變量包含用戶名,{{i.username}}列出所有可用用戶。它列出了所有可用的用戶。現在,我想傳遞用戶名的用戶名,並將用戶名輸入到django視圖。無法從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() 

它寫在共享模型。我在做什麼錯誤的上述代碼?

+0

'option'標記沒有'name'屬性,'POST'數據中的'choice'是什麼? – sneawo

+0

我已經解決了。 – user1881957

回答

0

事實證明,這根本不是Django錯誤。這是一個簡單的HTML錯誤。 option tag不具有稱爲name的屬性,但是select具有。

這就是爲什麼我編輯我的觀點看起來像這樣:

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

它現在工作的罰款。

相關問題