🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Django

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

703閲覧

DjangoのBlogModelをタイトル表示にしたい。

pocari.i.love

総合スコア1

Django

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/03/01 17:02

前提・実現したいこと

DjangoのBlogModelをタイトル表示にしたい。

ここに質問の内容を詳しく書いてください。
Djangoを学習しているのですが、BlogModelにテストとして書き込みをしましたが「BlogModel object」となりまして、タイトルの表示がされません。

どのように改善すれば理想の動作をできますでしょうか。
何卒皆様のお知恵をお貸いただければ幸いです。

発生している問題・エラーメッセージ

エラーは発生しておりません。

該当のソースコード

admin

1from django.contrib import admin 2from .models import SampleModel, BlogModel 3 4# Register your models here. 5 6admin.site.register(SampleModel) 7admin.site.register(BlogModel)

models

1from django.db import models 2 3# Create your models here 4 5class SampleModel(models.Model): 6 title = models.CharField(max_length=100) 7 number = models.IntegerField() 8 9CATEGORY = (('business','ビジネス'),('life','生活'),('other','その他')) 10 11class BlogModel(models.Model): 12 title = models.CharField(max_length = 100) 13 content = models.TextField() 14 postdate = models.DateField(auto_now_add = True) 15 category = models.CharField( 16 max_length = 50, 17 choices = CATEGORY 18 ) 19 20def __str__(self): 21 return self.title.content

urls

1from django.urls import path 2from .views import BlogList 3 4urlpatterns = [ 5 path('list/', BlogList.as_view()),

views

1from django.shortcuts import render 2from django.views.generic import ListView 3from .models import BlogModel 4 5class BlogList(ListView): 6 template_name = 'list.html' 7 model = BlogModel 8 9# Create your views here.

試したこと

下記をmodels.pyに追加したのですが、エラーも発生することなく、なにも変化がありませんでした。
def str(self):
return self.title.content

ネットで検索をして同様な記述を見つけたので打ち間違えも疑い、コピーペーストをしましたが改善されませんでした。

補足情報(FW/ツールのバージョンなど)

appdirs 1.4.4
asgiref 3.3.1
certifi 2020.12.5
distlib 0.3.1
Django 3.1.6
filelock 3.0.12
pip 21.0
pipenv 2020.11.15
pytz 2021.1
six 1.15.0
sqlparse 0.4.1
virtualenv 20.4.0
virtualenv-clone 0.5.4

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

下記ではないでしょうか。

python

1class BlogModel(models.Model): 2 title = models.CharField(max_length = 100) 3 content = models.TextField() 4 ... 5 6 def __str__(self): # インデントを修正 7 return self.title # 戻り値を修正

投稿2021/03/01 22:39

編集2021/03/01 22:42
hasami

総合スコア1277

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

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

pocari.i.love

2021/03/02 21:20

解答いただきありがとうございました。 ご教示いただきましたインデント並びに戻り値を修正しましたところ 理想の表示をすることができました。 プログラミングの文法だけを注力してインデントの間違いを探すことをしておりませんでした。 インデントが違っていると正常に動作しないことがあると非常に勉強になりました。 次にこの間違いを活かします。 この度は迅速に解答いただきました本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問