Django 1.10不再允许你'myapp.views.home'
在URL模式中将视图指定为字符串(例如)。
解决方案是更新你urls.py
的视图以包含可调用的视图。这意味着你必须在中导入视图urls.py
。如果你的网址格式没有名称,那么现在是添加名称的好时机,因为使用虚线python路径进行反向操作不再有效。
from django.conf.urls import include, url
from django.contrib.auth.views import login
from myapp.views import home, contact
urlpatterns = [
url(r'^$', home, name='home'),
url(r'^contact/$', contact, name='contact'),
url(r'^login/$', login, name='login'),
]
如果有很多视图,则不方便分别导入它们。一种替代方法是从你的应用程序中导入视图模块。
from django.conf.urls import include, url
from django.contrib.auth import views as auth_views
from myapp import views as myapp_views
urlpatterns = [
url(r'^$', myapp_views.home, name='home'),
url(r'^contact/$', myapp_views.contact, name='contact'),
url(r'^login/$', auth_views.login, name='login'),
]
请注意,我们已经使用as myapp_views
和as auth_views
,这允许我们views.py
从多个应用程序导入,而不会发生冲突。