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
MySQLのPythonリンクライブラリは、
http://sourceforge.net/projects/mysql-python/は適切な接続ライブラリを見つけられませんでした。googleを通じて記事を見つけました。
http://i.19830102.com/archives/164、問題解決。
3.配置urlのエラー
adminバックグラウンド管理画面のurls.py構成:
4.管理画面にmodelsモジュールの表示が不完全で、articaleモジュールがありません。
フォルダのarticalcにファイルを作成します。admin.py
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)