Django找不到具有manage.py syncdb的应用程序

时间:2012-08-02 20:18:55

标签: python django macos django-manage.py django-taggit

我正在运行Mac OS X 10.7并且我通过使用成功地在django中创建了一个项目     django-admin.py startproject MyBlog。在这个文件夹中,我有manage.py,另一个名为MyBlog的文件夹和我创建的名为MainBlog的app文件夹。

我需要将这个模块和taggit模块添加到我的settings.py文件夹,所以我做了(可能不正确)。

这是..

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
'MainBlog.taggit',
'MainBlog',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)

我也试过

'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
'MainBlog.taggit',
'MyBlog.MainBlog',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)

这些都不奏效。他们都返回这个错误......

Error: No module named MainBlog

任何帮助都会受到很大的关注。我一直在努力奋斗几个小时!

1 个答案:

答案 0 :(得分:2)

您收到的错误是因为django无法将您的应用MainBlog识别为python包。

Django模块只是Python包。您需要在应用目录(__init__.py)中包含MainBlog文件才能让django识别它。见What is __init__.py for?

有两种方法可以解决这个问题。

1)使用django脚本(推荐)

初始化您的应用
python manage.py startapp MainBlog MainBlog

startapp命令是documented on the django website。 这会在MainBlog文件夹中创建一些文件以启动您:

MainBlog/
    __init__.py
    models.py
    tests.py
    views.py

2)手动将__init__.py文件添加到MainBlog目录

touch MainBlog/__init__.py