0

ここの手順に従おうとしています:

http://dev.svetlyak.ru/optional-email-in-django-comments-en/

Django コメント アプリの「メール アドレス」フィールドをオプションにします。具体的には、次の内容の「mycomments.py」というファイルを作成しました。

from django import forms
from django.contrib.comments.forms import CommentDetailsForm
from django.utils.translation import ungettext, ugettext_lazy as _

class CommentForm(CommentDetailsForm):
    email = forms.EmailField(label=_("Email address"), required=False)

def get_form():
    return CommentForm

そして、それを私の Django プロジェクトのルート フォルダー (manage.py と settings.py を含む同じフォルダー) に配置しました。次に、次のように「mycomments」を settings.py ファイルに追加しました。

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.comments',
    'blogs',
    'mycomments',
)

COMMENTS_APP = 'mycomments'

しかし、「python manage.py runserver」を実行すると、次のエラーが発生します。

Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x8bb208c>>
Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 88, in inner_run
self.validate(display_num_errors=True)

File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)

File "/usr/local/lib/python2.7/dist-packages/django/core/management/validation.py", line 35, in get_validation_errors
for (app_name, error) in get_app_errors().items():

File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 146, in get_app_errors
self._populate()

File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 61, in _populate
self.load_app(app_name, True)

File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 83, in load_app
if not module_has_submodule(app_module, 'models'):

File "/usr/local/lib/python2.7/dist-packages/django/utils/module_loading.py", line 17, in module_has_submodule
for entry in package.__path__:  # No __path__, then not a package.

AttributeError: 'module' object has no attribute '__path__'

そして、開発サーバーは起動しません。私は何か間違ったことをしましたか?

4

1 に答える 1

1

Django アプリは (少なくとも)ファイル__init__.pymodels.pyファイルを含むディレクトリである必要があります。したがって、ディレクトリを作成mycommentsし、コードを入力して、そこ__init__.pyに空を追加しますmodels.py

于 2012-05-10T09:10:22.783 に答える