データベースアプリケーションをdjangoのプロジェクトに接続しようとしていました. psycopg とデータベースの接続に成功しました。それから私はそれのためのアプリケーションを構築し始めました
python manage.py startapp books
models.py にいくつかのコードを書きました。
しかし、INSTALLED_APPS にアプリケーションを入れようとすると、エラーが発生しました。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'tut1.books',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
したがって、私はプロジェクトのフォルダーにいて、コマンドラインに次のように入力します。
%>python manage.py syncdb
ImportError: No module named 'tut1.books'
INSTALLED_APPS からアプリを削除すると、すべてうまくいきます。アプリケーションをリンクするための異なる構文が必要だと思います。
「tut1.books」を単に「books」に変更しようとしました。別のエラーが発生します。
%>python manage.py syncdb
AttributeError:'module' object has no attribute 'URLFIELD'
プロジェクト /tut1/ 内のファイルとフォルダー
manage.py
views.py
/tut1/
/templates/
/books/
/books/ 内のファイル
__init__.py
modules.py
views.py
tests.py
/tut1/tut1/ 内のファイル
__init__.py
settings.py
urls.py
views.py
wsgi.py
init .py はデフォルトで空です。
このプロジェクトの PYTHONPATH を確認しました。奇妙なことは何も...
>>> import sys
>>> for i in sys.path:
print(i)
C:\study\django\tut1
C:\Python33\Lib\idlelib
C:\Python33\lib\site-packages\setuptools-1.1.6-py3.3.egg
C:\Python33\python33.zip
C:\Python33\DLLs
C:\Python33\lib
C:\Python33
C:\Python33\lib\site-packages