0

我使用django 1.4.2創建了一個django項目。這個項目中有一個'應用程序'(adsite)。它的工作原理。但是當我將一些'py'文件複製到'app'文件夾中時,我在views.py中得到了No module named models錯誤。 Parent module adsite.adsiteviews.mainhanlder does not exist.我應該在'app'中註冊新文件到__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'), 

我不知道這個問題的線索。任何建議,將不勝感激。 thx爲你的時間。

+0

adsiteviews.py從使用龍捲風開發的應用程序進行修改。現在我想修改它以使用django,也許在django中基於類的視圖。 –

回答

0

首先,你的urlconf是完全錯誤的;您不能像使用基於函數的視圖一樣調用基於類的視圖。具體來說,您的urls.py應該是這樣的:

from adsite.adsiteviews import mainhandler 

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

二,錯誤No module named models大概意思正是:你需要有一個名爲models.py文件在您adsite目錄,它應該包含UserInfo模型定義。我不確定你怎麼沒有models.py,因爲默認情況下它通常由commander startapp創建。

相關問題