質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1090閲覧

djangoで、if文でのエラーを解決したい!

pcbginer

総合スコア25

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/08/08 07:06

編集2020/08/08 08:28

#<前置き>
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

・既存テーブルの中身について

空白のところはpasswordなので、隠しております
![イメージ説明

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

<最後に>

至らないところが多いと思いますが、ご教授の程よろしくおねがいします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2020/08/08 07:54

情報は、可能な限り、テキストにてご提示ください。 問題が起こっているソース(この場合は、if文が含まれているソース)をご提示ください。
guest

回答2

0

自己解決

djangoのappのフォルダーにあるviews.pyで、

views.py

1def check(request): 2 name = "\"" + str(request.user.get_username()) + "\"" 3 d = { 4 'data': Test.objects.all(), 5 'name':name, 6 } 7 return render(request, 'check.html', d)

request.user.get_username()に""を両端につけたら、解決しました!
ご指導くださった方、ありがとうございます。

投稿2020/08/08 09:49

編集2020/08/08 09:53
pcbginer

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まずは仕様を明確にしましょう。

現在起こっている不具合ですが、仕様次第で、3つの解釈に分かれます。

1:テーブル内のデータ(id)が、CSVの取込方法の誤りで、正しく格納されていない為、一致しない。

2:組込みifでのusernameの処理が誤っている為、一致しない。

3:usenameへの入力が正しくない為、一致しないが不具合ではない。

idカラムは、""でくくられているのが正しい状態なのでしょうか?
正しくないのなら、取込をやり直して、""が含まれないようにしてください。
正しいのなら、if文を細工するなり、usernamの取得時に""でくくるなりで、一致するようにしてください。
もしくは、入力時に""を追加してテストを行ってください。

繰り返します、まずは仕様を明確にしましょう。

投稿2020/08/08 07:53

編集2020/08/08 08:43
YT0014

総合スコア1708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pcbginer

2020/08/08 08:29

ご指摘あるがとうございました。htmlのif文の細工の仕方は具体的にどのうようにやるのでしょうか?
YT0014

2020/08/08 08:37

仕様を明確にしてください
YT0014

2020/08/08 08:43

正しい処理の可能性を見落としていたので、追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問