2012-05-10 3 views
0

을 추가하려고 오류 :장고 : 여기 단계를 수행하기 위해 노력하고 새로운 응용 프로그램

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

이 장고 코멘트 응용 프로그램에서 "이메일 주소"필드가 선택하게. 특히, 나는 다음과 같은 내용으로 '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 

을 그리고 내 장고 프로젝트 (manage.py 및 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' 

을하지만 그때 나는 '파이썬 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__' 

을 다음과 같이 그 후, 나는 settings.py 파일에 'mycomments을'추가 dev 서버가 시작되지 않습니다. 내가 뭐 잘못 했어요?

답변

1

장고 앱은 (최소한) __init__.pymodels.py 개의 파일이있는 디렉토리 여야합니다. 따라서 mycomments 디렉토리를 만들고 __init__.py에 코드를 입력하고 빈 models.py을 추가하십시오.

+0

감사합니다. 이로 인해 문제가 해결되었습니다. 그래서 내가 링크 된 튜토리얼에서 주어진 예제에서, 작성자는 "firefly"라는 디렉토리를 작성하고 그 디렉토리 내에 "my_comments.py"라는 파일에 코드를 넣었으며 그의 __init__.py 파일을 공백으로 남겨 두었습니까? – GChorn

+0

@GChorn 네, 그렇게 생각합니다. – DrTyrsa

관련 문제