お世話になります。
djangoのクラスベースを学習し始めたものです。
まずテンプレートビューについて調べています。
HTMLは表示できたのですが、contextの中身がテンプレートに渡されていません。
原因がわからないのでどなたかご教授願えませんでしょうか。
参考にしたのは下のサイトです。
https://django.kurodigi.com/templateview/
https://qiita.com/felyce/items/7d0187485cad4418c073
viewは下記の通りです。
from django.shortcuts import render from django.views import View from django.views.generic import TemplateView class IndexView(TemplateView): template_name = 'index.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['message'] = 'こんにちは' return context index = IndexView.as_view()
index.htmlは下記の通りです。
<html> <body> <div>Hello Template</div> <div>「{{message}}」</div> </body> </html>
しかし実行結果は下の画像の通り{{message}}の中身が表示されません。
どなたかご回答して頂ければ幸いです。
以上よろしくお願いいたします。
【追記】
試しにindex.htmlを下記の通りに変更してみました。
<html> <body> <div>Hello Template CHANGED</div> <div>「{{message}}」</div> </body> </html>
`get_context_data()` の使い方に誤りが見受けられず、御提示のソースコードにない鍵括弧が出力されている、といった点から、質問文に掲載なさっている以外の個所に問題が疑われます。別の view や template が実行されていないか、ソースコードの必要個所を省略しすぎてしまっていないか、改めて御確認下さい。
ご回答ありがとうございます。
大変失礼いたしました、「」については途中で付け足したものになります。
一応該当するtemplateの記載を変更すると、UI側も変更されることから呼ばれているのは上記掲載のテンプレートページみたいです。
viewファイルもクラスもまだ一つしか作成していない状況です。
何か引き続き調べるところがありましたらご教授頂けると幸いです。
よろしくお願いいたします。
それでしたら、環境や設定の問題のように思われるので、どなたかが再現可能なよう、 Django や Python のバージョン、実行環境等を示しておくと良いかと思われます。少なくとも、私の手元では再現出来ませんでした。
ご指摘の通りもう一度環境を作り直したら何とか出力することが出来ました。
ありがとうございました。
まだ受付中になっているので自己解決を...
あなたの回答
tips
プレビュー