python 2.6+django 1.0+mysql初体験


Windowsで作った例は
http://www.ibm.com/developerworks/cn/opensource/os-cn-django/index.htmlしました
しかし、途中バージョンの問題で、いくつかの問題が発生しました。ここで記録します。
例は私のバージョンと比較します。
python 2.5--python 2.6
django 0.96--django 1.0
1.maxlengthエラー
maxlengthはmax_に変えるべきです。length

class List(models.Model):
    title = models.CharField([color=red]max_length[/color]=250,unique=True)
    def __str__(self):
        return self.title
    class Meta:
        ordering = ['title']
    class Admin:
        pass
2.ImportError:DLL load failed:指定されたモジュールが見つかりません。
MySQLのPythonリンクライブラリは、
http://sourceforge.net/projects/mysql-python/は適切な接続ライブラリを見つけられませんでした。googleを通じて記事を見つけました。
http://i.19830102.com/archives/164、問題解決。
3.配置urlのエラー
adminバックグラウンド管理画面のurls.py構成:

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^news/', include('news.foo.urls')),

    # Uncomment the admin/doc line below and    add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
      (r'^admin/(.*)', admin.site.root),
     
)

例と違って話す。
4.管理画面にmodelsモジュールの表示が不完全で、articaleモジュールがありません。
フォルダのarticalcにファイルを作成します。admin.py

from news.article.models import List
from news.article.models import Item
from django.contrib import admin

admin.site.register(List)
admin.site.register(Item)
5.ページ表示エラー

  article_dict['items_complete'] = article_list.item_set.filter(completed=True).count() 
               article_dict['percent_complete'] = int(float(article_dict['items_complete']) / article_dict['item_count'] * 100) 

この二つのコードは適切な判断を加えるべきです。でないと、データベースに該当するデータがなく、エラーが発生します。

 if  article_dict['item_count'] == 0:
            article_dict['items_complete'] = 0
            article_dict['percent_complete'] = 0
        else:
               article_dict['items_complete'] = article_list.item_set.filter(completed=True).count() 
               article_dict['percent_complete'] = int(float(article_dict['items_complete']) / article_dict['item_count'] * 100)