3

だから、私はこのhttp://mherman.org/blog/2012/12/30/django-basics/チュートリアルでdjango を学んでいますが、1 つの問題があります。

データベースに数冊の本を追加しましたが、管理サイトには「App_name object」しか表示されません。私の場合、実際には「War and Peace」、「Brave New World」、「To Kill a Mockingbird」が表示されるはずなのに、「Books object」、「Books object」、「Books object」という単語のリストしか表示されません。

では、私のアプリの何が問題なのか分かりますか?

ありがとうございました ;)

編集:models.pyコードを追加

from django.db import models

class Books(models.Model):
    title = models.CharField(max_length=150)
    author = models.CharField(max_length=100)
    read = models.CharField(max_length=3)

    def __unicode__(self):
        return self.title + " / " + self.author + " / " + self.read

私は答えを見つけました:

Django 1.5 は Python 3 を実験的にサポートしていますが、Django 1.5 のチュートリアルは Python 2.X 用に書かれています。

このチュートリアルは、Django 1.5 および Python 2.x 用に書かれています。Django のバージョンが一致しない場合は、Django のバージョンのチュートリアルを参照するか、Django を最新バージョンに更新してください。Python 3.x を使用している場合は、コードがチュートリアルの内容と異なる場合があることに注意してください。Python 3.x で何を行っているかを理解している場合にのみ、チュートリアルを使用してください。

Python 3 では、 unicodeメソッドの代わりに strメソッドを定義する必要があります。Python 2 および 3 で動作するコードを作成するのに役立つデコレータ python_2_unicode_compatible があります。

@python_2_unicode_compatible class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('公開日')

def __str__(self):
    return self.question For more information see the section str and unicode methods in the Porting to Python 3 docs.
4

1 に答える 1