修正django step by step第六講の小さい誤りと知識点


Step by stepの第6話を学習する際、操作が完了し、wikiのappを新規作成した後、modelを修正する.pyこのファイルの後、

from django.db import models

# Create your models here.
class Wiki(models.Model):
    pagename = models.CharField(maxlength=20, unique=True)
    content = models.TextField()

実行:python manage.py syncdbこのコマンドでは、次の異常が表示されます.

TypeError: __init__() got an unexpected keyword argument 'maxlength'

maxlenageを
max_lenagでいいです.
実行後、対応するデータベースにテーブルが新規作成されます.テーブル名のルールは、appのモジュール名+下線+modelsのclass名(小文字)と個人的に推測されます.私がここで生成したテーブル名は:wiki_wiki.
その後はチュートリアル通りに写せばよいが、他に問題はなく、最後に表示されるとhtmlタグがエスケープされるので、例を完全に実現することはできないが、URLを修正することで相応の効果を得ることができる.
このセクションの知識点:

 all()        , filter()            

xxx.objects    

 filter()   :       ,        ,         None   ,      。   filter()               ,            [] 。           。     pages[0].content,pages[0].pagename

 get()    :          。     :page.pagename,page.content

save()  :                   。