Ошибка при интеграции 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
(т.е. удалите одинарные кавычки), и вы должны быть в порядке.