2013-06-13 2 views
1

간단한 프로젝트 처리를하고 있습니다. 내 프로젝트 이름은 'mysite'이고 startapp를 사용하여 'books'폴더를 만들었습니다. 'mysite'폴더 안에 'templates'라는 폴더를 만들었습니다. '템플릿'의 내부에는 검색 양식의 HTML 파일 하나가 만들어졌으며 이름은 'search_file.html'입니다. 해당 html 파일을 작성하는 코드는 다음과 같습니다.django에서 가져 오기 오류가 모듈을 찾지 못했습니다.

<html> 
<head> 
    <title>Search</title> 
</head> 
<body> 
    <form action="/search/" method="get"> 
     <input type="text" name="q"> 
     <input type="submit" value="Search"> 
    </form> 
</body> 
</html> 

그런 다음 'books'폴더에있는 views.py에 다음 코드를 작성했습니다.

from django.shortcuts import render 

def search_form(request): 
    return render(request, 'search_form.html') 

그 후 나는 아래와 같이 'mysite'폴더에있는 urls.py에 코드를 작성했습니다. 내가 브라우저에서 실행할 때 다음 오류가이 일을 언급 등장

- books 

    - __init__.py 
    - admin.py 
    - models.py 
    - tests.py 
    - views.py 

- mysite 

    - __init__.py 
    - settings.py 
    - urls.py 
    - wsgi.py 

- templates 

    - search_form.html 

- manage.py 

그러나 :

주요 폴더는 '내 사이트'이고이 내 :

from mysite.books import views 

urlpatterns = patterns('', 

    url(r'^search-form/$', views.search_form), 

) 

내 파일 트리는 다음과 같습니다 .

/검색 폼에서 ImportError를/

없음 모듈이라는 책

이 오류에 대한 해결책은 무엇인가

?

+0

전체 스택 트레이스를 게시 할 수 있습니까? –

+0

미안하지만 나는 초보자 일 뿐이므로 stacktrace의 의미는 알지 못했다. 설명해 주시겠습니까? –

+0

오류 : 제발 –

답변

0

폴더 책에 __init__.py이라는 파일을 만들었습니까?

+0

예, 'books'폴더 안에 __init__.py 폴더를 만들었습니다. –

+0

순환 가져 오기 오류가 발생합니다. 당신의 바깥 쪽 폴더는'mysite'라고 불리우며, mysite라고 불리는 곳에서 mysite라고 이름을 바꾸면, 설정이 다른 곳으로 옮겨지는'mysite'의 이름을 바꿉니다. 그러면 작동해야한다고 생각합니다. –

+0

그러나 mysite 프로젝트의 이름은 mysite입니다. . 내가 mysite 프로젝트를 시작했을 때, mysite 프로젝트 내에 자동으로 mysite 폴더를 만들었다. –

1

가장 좋은 방법은 내 사이트/내 사이트/내부에 "책"패키지를 이동하고 settings.INSTALLED_APPS

에 도서를 추가하는 것입니다하지만 당신은 다음처럼 유지하려면 :

메인 "mysite"폴더는 파이썬 패키지가 아닙니다.

당신이 있어야합니다 :

mysite/ 
    books/ 
     __init__.py 
     admin.py 
     models.py 
     tests.py 
     views.py 

    templates/ 
     search_form.html 

    __init__.py 
    settings.py 
    urls.py 
    wsgi.py  
    manage.py 

편집 manage.pysettings

편집 settings.pymysite.settings을 교체하고 ROOT_URLCONF = 'mysite.urls'을 대체 이것은 당신이 울부 짖는 소리를 참조 메인 폴더에 초기화 평을 추가 할 필요가 의미 ROOT_URLCONF = 'urls'WSGI_APPLICATION = 'mysite.wsgi.application'WSGI_APPLICATION = 'wsgi.application'

<path to>/templates을 설정에 추가하십시오.TEMPLATE_DIRS

는/당신이 다음 내 사이트를 제거 할 수 있습니다, 지금 당신은 당신이 볼 수있는 또 books import views

에서 할 수 있어야 당신의 INSTALLED_APPS

편집 wsgi.pybooks을 추가하고 settings

mysite.settings 교체 mysite 폴더

+0

내가 한 모든 일을했지만 여전히 같은 오류가 발생했습니다.이 문제에 대한 다른 해결책이 있습니까? –

+0

내 답변을 업데이트했습니다. 아직 문제가있는 경우 알려주십시오. –

+0

좋은 해결책이 아닙니다. –

관련 문제