2016-10-10 13 views
-2

私は駅のリストを持っており、私は「スタート」から駅を表示する必要があります。開始と終了には駅IDが含まれています。私はこのように努力していますが、私がすべて動かすと空白のページができます。 showtrain.html: -django-ifテンプレートが正しく動作しない場合

<table> 
<tr> 
    {% for st in st_list %} 
    {% if st.station_id >= start %} 
    <td> {{ st.station_id }} </td> 
    {% endif %} 
    {% endfor %} 
</tr> 
</table> 

何も{スタート%の場合%}のような条件を除いた場合の内部働きません。私は何かが些細な行方不明だと知っている。私はそれを把握するのを助けてください。私はdjango 1.6を使用しています。 編集:views.py-

def runtrain(request): 
    if request.method == 'POST': 
     #request.post.get method retrieves user input from a form 
      start = request.POST.get('start', None) 
     stop = request.POST.get('stop', None) 
     rid = request.session.get('route_id') 
     stlist = SequenceTable.objects.filter(route_id = rid) 
     #print start 
     data2 = { 
       "start" : start, 
       "stop" : stop, 
       "st_list" : stlist, 

      } 
    return render(request,"showtrain.html",data2) 

models.py-

class SequenceTable(models.Model): 
     id = models.AutoField(primary_key=True) 
     route_id = models.ForeignKey(route, on_delete=models.CASCADE) 
     station_id = models.ForeignKey(Stations, on_delete=models.CASCADE) 
     sequence_no = models.IntegerField(null=True) 

     #def __str__(self): 
     # return self.sequence_no 
class Stations(models.Model): 
    station_id = models.AutoField(primary_key=True) 
    station = models.CharField(max_length=20) 
    station_code = models.CharField(max_length=10) 
    def __str__(self): 
     return self.station_code 
+3

'st_list'の要素を印刷してみましたか? – rofls

+0

#roflsはい、ifテンプレートを完全に削除すると、st_listのすべてのエントリが表示されます。 – user37886

+0

まずビューの 'for'と' if'ロジックを行い、printステートメントを使ってデバッグし、printを使って端末のすべての値をチェックします。 –

答えて

0

問題は不一致データ型であるRemcoGerlichで述べたように。 formから返されるstartの値は文字列型であり、station_idは整数です。それらを比較することができないので、コントロールは何も出力されないのでifステートメントを入力しないでください

関連する問題