#<前置き>
djangoの勉強の為、簡単なwebアプリを作っている学生です
目的
ログインしたユーザーのidと、mysqlにはいっている既存のテーブルのidが一致した場合、
既存テーブルにはいっている他の情報をhtmlに表示したいです
(ちなみに、既存テーブルの中身はサンプルです)
#<状況説明>
1.djangoで,mysqlの既存のテーブルを含むモデルをデプロイした
・csvファイルから中身をアップロードした
terminal
1load data local infile "path名.XX.csv" into table テーブル名 fields terminated by ',' optionally enclosed by '"';
・既存テーブルのカラムについて
terminal
1id varchar(20)not null 2p varchar(20) not null 3c int(1) not null 4pulse decimal(4,1) not null 5t date not null
・既存テーブルの中身について
2.mysqlとdjangoの接続は成功して、既存データの結果はhtmlに表示される
・当該htmlのコードについて(上から2個目のif文が動きません)
html
1{% load static %} 2<!DOCTYPE html> 3<html lang="ja"> 4 <head> 5 </head> 6 <body> 7 {% if user.is_authenticated %} 8 <p>{{ user.get_username }}でログイン中</p> 9 <form method="post" action=""> 10 <table border="1"> 11 <thead> 12 <tr> 13 <th>id</th> 14 <th>判断結果</th> 15 <th>日付</th> 16 </tr> 17 </thead> 18 <tbody> 19 {% for test in data %} 20 <p>既存のデータテーブル(test)のidの長さ{{ test.id|length }}</p> 21 {{ test.id }} 22 <p>user.get_usernameの長さ{{ user.get_username|length }}</p> 23 {{ user.get_username}} 24 {% if test.id == user.get_username%} 25 <tr> 26 <td>{{ test.id }}</td> 27 <td>{{ test.c }}</td> 28 <td>{{ test.t }}</td> 29 </tr> 30 {% endif %} 31 {% endfor %} 32 </tbody> 33 </table> 34 </form> 35 {% else %} 36 <p>ログインしていません</p> 37 {% endif %} 38 </body> 39</html> 40
<発生した問題>
htmlの中で、組込みif文で ログインしているユーザーidと、既存テーブルのなかのidが ""がカウントされて、同じ文字列として認識されない
→user.get_username と 既存のテーブルのidの比較を if文のなかで trueにさせたい!
解決したい理由
→htmlの中で、組込みif文で ログインしているユーザーidと、既存テーブルのなかのidが同じものがあったら、既存テーブルにあるログインユーザーの他の情報をhtmlに表示したい
#<使用しているdjango,mysqlのバージョン>
・django 1.10.5
・mysql 5.6.47
<最後に>
至らないところが多いと思いますが、ご教授の程よろしくおねがいします
回答2件
あなたの回答
tips
プレビュー