urls.py で、include() に namespace を追加したらエラーで実行できない

件名の件で調べたら以下のサイトを見つけることができました。感謝です。

目次

環境

Ubuntu 18.04LTS
Python 3.7.3
Django 2.2    

やりたかったこと

名前空間を追加することによって、template(=html) 内でリンクを書くときに、全体でかぶらないように、一意に決めた長い名前ではなく、プレフィックス分け(=アプリ分け)した短い名前での指定をすることになります。

という知見を得たので、そりゃラクダ!と思って書いてみたところ、エラーを食らいました。

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls', namespace='polls')),
]

エラー内容

File "/~/urls.py", line 23, in <module>
    path('polls/', include('polls.urls', namespace='polls')),
  File "/~/conf.py", line 39, in include
    'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

引用&和訳

django.core.exceptions.ImproperlyConfigured:app_nameを指定せずにinclude() で名前空間を指定することはサポートされていません。 インクルードモジュールでapp_name属性を設定するか、代わりにパターンとapp_nameのリストを含む2タプルを渡します。

英語、見てなかったんだけど、教えてくれてたのね・・・。

修正後

正しくは、「タプル形式で1つにまとめて書く」でした。

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include( ('polls.urls', 'polls') )),
]

追記

プロジェクト+アプリの以下の組み合わせでもいけるみたいです。

プロジェクト/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls')),
]

アプリ/urls.py

app_name 変数?を割り当てるやり方

app_name = 'polls'

urlpatterns = [
    ~
]