0

django 1.4.2를 사용하여 django 프로젝트를 만들었습니다. 이 프로젝트에는 하나의 '앱'(adsite)이 있습니다. 그리고 그것은 작동합니다. 그러나 일부 'py'파일을 'app'폴더에 복사하면 views.py에서 No module named models 오류가 발생합니다. 및 Parent module adsite.adsiteviews.mainhanlder does not exist. 새 파일을 '앱'에 __init__에 등록해야합니까? 새로운 대응 파일이 import 규칙을 위반 했습니까?새로 복사 한 파일이 가져 오기 규칙을 위반 했습니까?

views.py

from django.http import HttpResponse 
from django.template import Context, loader  
from adsite.models import UserInfo 

def showusers(request): 
    userlist = UserInfo.objects.all() 
    c = Context({ 
     'userlist':userlist, 
    }) 
    t = loader.get_template('users.html') 

    return HttpResponse(t.render(c)) 

복사 된 파일 : adsiteviews.py

class mainhanlder(TemplateView) 
    def get(self): 
    """ """   
    variables = { 
       'user': self.get_current_user(), 
       'mchosts' : MCHOSTS, 
       'servers' : servers} 

    index_templ = tmpl_lookup.get_template("index.html") 
    body = index_templ.render(**variables) 
    self.write(body) 

urls.py

urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'adsite.adsiteviews.mainhandler.as_View()'), 
    url(r'^users/$', 'adsite.views.showusers'), 

나는이 문제에 대한 아무런 단서가 없다. 어떤 제안이라도 인정 될 것입니다. 네 시간 동안.

+0

adsiteviews.py는 토네이도를 사용하여 개발 한 응용 프로그램에서 수정되었습니다. 이제 django를 사용하도록 수정하고 싶습니다. 아마도 django에서 클래스 기반 뷰를 사용하고 싶을 것입니다. –

답변

0

우선, 귀하의 urlconf는 완전히 잘못되었습니다. 함수 기반의 뷰를 사용하는 것과 같은 방법으로 클래스 기반 뷰를 호출 할 수 없습니다. 특히, 당신의 urls.py는 다음과 같이한다 : 당신이 당신의 adsite 디렉토리에 파일 이름 models.py이 필요하고, 그것은 UserInfo 모델 정의를 포함해야합니다 :

from adsite.adsiteviews import mainhandler 

urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', mainhandler.as_View()), 
    url(r'^users/$', 'adsite.views.showusers'), 

둘째, 오류 No module named models은 아마 정확히 의미 . 나는 대체로 startapp 커밋에 의해 만들어진 이후로 당신이 models.py를 가지고 있지 않다는 것이 확실하지 않다.