2016-08-03 57 views
2

我正在使用Django版本1.10。在django中集成html模板和url時出現錯誤

下面是我urls.py(前端),

from django.conf.urls import include,url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^webApp/', include('webApp.urls')), 
    url(r'^admin/', admin.site.urls), 
    url(r'^home/$', 'frontend.views.home', name='home'), 
] 

下面是我urls.py(Web應用程序),

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 

] 

而下面是我的views.py

def home(request): 
    return render_to_response('home.html') 

這裏,frontend是我的項目名稱和webApp是我的應用程序名稱。我在我的templates文件夾中有home.htmlfrontend

當我運行,

python manage.py runserver 0.0.0.0:8000 

我碰到下面的錯誤,

File "/root/frontend/frontend/urls.py", line 22, in <module> 
url(r'^home/$', 'frontend.views.home', name='home'), 
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py", line 85, in url 
raise TypeError('view must be a callable or a list/tuple in the case of include().') 
TypeError: view must be a callable or a list/tuple in the case of include() 

我不知道我做錯了...在同任何指導?

+0

'webApp'包裏面有'urls.py'嗎? –

+0

是的,我做...我試着評論和運行..給出了同樣的錯誤... – nidHi

+0

在根'urls.py'中導入'webApp' –

回答

1

urlpatterns列表中,您沒有正確使用功能url(你傳遞一個字符串作爲其第二個參數,但它 - 在這種情況下 - [..] must be a callable [..])。

所以...只要將'frontend.views.home'更改爲frontend.views.home(即刪除單引號),您應該沒問題。

+1

您必須添加一個導入例如'同時導入frontend.views'。 – Alasdair

+0

謝謝..那工作.. :) – nidHi

+1

@FilippoLauria你錯了。沒有導入,你會得到一個像'NameError:name'前端'未定義'的錯誤 – Alasdair