[問題] 將表格輸入的資料顯示

看板Python作者 (賽)時間9年前 (2016/09/02 02:26), 編輯推噓0(009)
留言9則, 2人參與, 最新討論串1/1
我其實不太知道我的問題屬於python還是html5 但我是參考python的書,所以想說發在這裡 看我以下的內容可能有人已經知道是哪本書了 我想要做的功能是輸入表格的值,並且將表格的值累計顯示在上面 這是書籍上的範例 但{%for c in r.comment_set.all %} 這行我不太懂,專案中app的名稱為restaurant 所以這個r指的是restaurant嗎? 以及他的c in r.comment_set.all 因為用c in r.comment,所以之後的內容才可以是{{c.visitor}}? 還有他的set.all是甚麼意思?是指該評價功能上應該輸入的都有輸入完全? 還有他是用for 迴圈來依序顯現在上面的嗎? comment為我在views中define的東西,height也是 <table> <tr> <th>留言者</th> <th>時間</th> <th>評價</th> </tr> {% for c in r.comment_set.all %} <tr> <td> {{c.visitor}} </td> <td> {{c.date_time1|date:"F j,Y" }} </td> <td> {{c.content}} </td> </tr> {% endfor %} </table> <form atcion="" method="post">{% csrf_token %} <table> <tr> <th><label for="id_visitor">留言者:</label></th> <td> {{f.visitor}} </td> <td> {{f.visitor.errors}} </td> </tr> <tr> <td><label for="id_email">電子信箱:</label></td> <td> {{f.email}} </td> <td> {{f.email.errors}} </td> </tr> <tr> <td><label for="id_content">評價:</label></td> <td> {{f.content}} </td> <td> {{f.content.errors}} </td> </tr> </table> <input type="submit" value="給予評價"> </form> 希望的結果: 留言者 時間 評價 user 八月 19,2016 123456 s890269 九月 2,2016 我沒意見~~ s890269 九月 2,2016 我沒意見!! ---------------------------------------- 以下為表格: 留言者: 電子信箱: 評價: 給予評價(按此按鈕輸入評價,然後會依序顯示在上面) 這是我參考照打的 views: def height(request): if request.POST: f1=HeightForm(request.POST) if f1.is_valid(): cushion=f1.cleaned_data['cushion'] faucet=f1.cleaned_data['faucet'] date_time=timezone.localtime(timezone.now()) h = Height.objects.create( cushion=cushion, faucet=faucet, date_time=date_time, ) f1=HeightForm() else: f1=HeightForm() return render_to_response('height.html', RequestContext(request,locals())) form: class HeightForm(forms.Form): cushion=forms.CharField(max_length=2) faucet=forms.CharField(max_length=2) models: class Height(models.Model): date_time=models.DateTimeField('date published') cushion=models.CharField(max_length=255) faucet=models.CharField(max_length=255) def __unicode__ (self): return self.name <table> <tr> <th>時間</th> <th>坐墊高度</th> <th>龍頭高度</th> </tr> {%for h in r.height_set.all %} <tr> <td> {{h.date_time|date:"F j,Y" }} </td> <td> {{h.cushion}} </td> <td> {{h.faucet}} </td> </tr> {% endfor %} </table> <form atcion="" method="post">{% csrf_token %} <table> <tr> <th><label for="id_cushion">坐墊高度:</label></td> <td>{{f1.cushion}}</td> </tr> <tr> <th><label for="id_faucet">龍頭高度:</label></td> <td>{{f1.faucet}}</td> </tr> </table> <input type="submit" value="紀錄"> </form> 但我按了之後,卻沒有顯示在上面 不太知道是有什麼問題,程式碼應該是沒問題 因為網頁有成功跑出來 應該說,我想問的是 他能夠讓提交的訊息都顯示在上面的關鍵是什麼? 我有漏打嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.162.219 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1472754395.A.4EB.html

09/02 12:28, , 1F
上面那個範例是comment有foreignkey關係才那樣用吧 但
09/02 12:28, 1F

09/02 12:28, , 2F
你只有height一個model 直接for h in height 就可以顯
09/02 12:28, 2F

09/02 12:28, , 3F
示了吧?
09/02 12:28, 3F

09/02 14:02, , 4F
沒有辦法欸,一樣只有頁面刷新,沒有值
09/02 14:02, 4F

09/02 14:22, , 5F
會是因為要height_set.all?
09/02 14:22, 5F

09/02 16:57, , 6F
應該是你render的context裡沒有Height.objects.all() ?
09/02 16:57, 6F

09/02 17:03, , 7F
應該不是用_set.all
09/02 17:03, 7F

09/02 17:03, , 8F
你Height=Height.objects.all()有render進去
09/02 17:03, 8F

09/02 17:04, , 9F
直接for h in height 就有東西了吧?
09/02 17:04, 9F
文章代碼(AID): #1No7BRJh (Python)
文章代碼(AID): #1No7BRJh (Python)