0

データベースアプリケーションを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
4

2 に答える 2

1

models.py に問題がある可能性があります。次のようにコードを書くようです。

foo = models.URLFIELD()

「モデル」モジュールには URLFIELD() がありません。

URLField() に変更する必要があります。

于 2013-10-03T08:44:31.833 に答える
0

__init__.pyPython がインポートする前に、フォルダー tut1.books にファイル (空の場合もあります)を追加する必要があります。この回答を参照してください: __init__.py とは何ですか?

于 2013-10-03T08:24:55.220 に答える