万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Python3.3のDjangoではImportError: No module named 'django.views.generic.list_detail'のエラー

    露木さんの本でハマった(2.x系なので)
    僕は1.5.1かな?

    >>> import django
    >>> django.VERSION
    (1, 5, 1, 'final', 0)

    URL: http://stackoverflow.com/questions/15624509/whats-current-django-for-from-django-views-generic-import-list-detail

    django.views.generic.list_detail was deprecated in Django 1.3:

    deprecated(非推奨)になってるので、
    django.views.generic.list_detail」の代わりに
    django.views.generic.list.ListView」を使おう

    動かなくなったのは取り敢えずdeprecatedでググる

    #from django.views.generic.list_detail import object_list
    from django.views.generic.list import ListView
    

    あとは、ここのマイグレーションも参考になる
    https://docs.djangoproject.com/en/1.4/topics/generic-views-migration/

    ・url.py

    #from django.views.generic.create_update import create_object
    from django.views.generic.edit import CreateView
    

    クラスがガラリと変わる。

    #    (r'^add/$', create_object, dict(model=Note, post_save_redirect='/list/')),
        (r'^add/$', CreateView.as_view(model=Note, success_url="/list/")
    

    → この辺りも書き方が全く変わったので、ハマる