Django2.1へのバージョンアップでは認証部分の書き方で注意が必要です。
Django1.11から以下のようなcontrib.auth.views.login()関数ビューを使う書き方は非推奨になっていましたが(login以外の認証機能も同様)、2.1からはこの関数ビューは削除されて使えなくなっています。
urls.py (Django2.1からは使えない書き方)
from django.urls import path from django.contrib.auth import views as auth_views urlpatterns = [ path('login/', auth_views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name='login'), ]
したがって、Django2.1からは以下のようにクラスベースビューを使った書き方に変えないとエラーでDjangoが起動されませんのでご注意下さい。
urls.py (Django2.1から必須の書き方)
from django.urls import path
from django.contrib.auth import views as auth_views
urlpatterns = [
path('login/', auth_views.LoginView.as_view(template_name='login.html', authentication_form=LoginForm), name='login'),
]
【関連記事】
Djangoを1.11から2.0にバージョンアップ