Ошибка при интеграции HTML-шаблона и URL-адреса в Django

Я использую Django Версия 1.10.

Ниже мой 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(WebAPP),

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 это имя моего приложения. И у меня есть home.html в моем templates папка в frontend,

Когда я бегу,

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()

Я не знаю, что я делаю неправильно... Любое руководство в том же?

1 ответ

Решение

В urlpatterns список, вы не правильно используете функцию url (вы передаете строку в качестве второго аргумента, но это - в данном случае - [..] must be a callable [..]).

Так что... просто поменяй 'frontend.views.home' в frontend.views.home (т.е. удалите одинарные кавычки), и вы должны быть в порядке.

Другие вопросы по тегам