見出し画像

Cloud9&DjangoでSQLite3を使う②


テーブルの呼び出し

テーブルの中身を呼び出した後にHTMLを使って表示する
index.htmで表示する

<body>

<table>
{% for item in items %} #①
<tr>
<th>{{item.name}}</th> #②
</tr>
{% endfor %}
</table>

</body>

index.htm

①views.pyとつながる部分'items'キー
②itemは①で指定した変数

from django.shortcuts import render
from .models import User #①
# Create your views here.
def index(request):
    params = { 'message':'Hello world', 'items': User.objects.all()} #②
    return render(request, "index.htm", params)

views.py

①で使用するモジュールを取り込む
②jsonの'items'キーにモジュールで取り込んだ値を渡す

指定して呼出

SQL文でデータを選択できる。ただしその際のテーブル名はterminal窓で表示された'アプリ名_user'をテーブル名に指定する

from django.shortcuts import render
from .models import User
# Create your views here.
def index(request):
    sql = "SELECT * FROM app_user WHERE age >= 40" #①
    params = { 'message':'Hello world', 'items': User.objects.raw(sql)} #②
    return render(request, "index.htm", params)

views.py

①SQL文記述をsql変数に格納
②.oblects.raw(sql変数)で指定

テーブルに書込む

クラスのインスタンスを作り、インスタンス.save()メソッドを使う。
別にクラス.object.create()メソッドを使う方法もあるが下手したみたい。

# save()の場合
new_user = User(uid=3, name='ジョー', age=20)
new_user.save()
 
# create()の場合
#User .object.create(uid=3, name='ジョー', age=20)

views.py
admin

あしがとうございます。出典元:
@yunosuken(Naito Yunosuke) 「【Django】SQLを指定してデータを取得する方法
@npakaDjango 入門 (5) - データベース
@モリユウキ|YM202110 「Django_ForeignKeyのデータを更新 / save()とcreate()の違い


この記事が気に入ったらサポートをしてみませんか?