第6章のDjangoによるWebアプリケーション開発で、293ページ目の下部に掲載されているサンプルコードを実行すると、
SyntaxError: Generator expression must be parenthesized
が表示されます。
これを解決するには、Djangoのバージョンを1.1.17にしてください。
この解決策はstackoverflowに載っていたもので、参照元URLは以下です。エラー文そのままで検索すれば一番上に出てきますが。
https://stackoverflow.com/questtions/51265858/syntaxerror-generator-expression-must-be-parenthesized
原因はPython 3.7とDjango1.11.16以下の非互換性らしいです。試しにPython 3.7とこの記事執筆時点でのDjango最新バージョン2.2.3でサンプルコードを実行してみましたが、また違ったエラーが出ました。
フレームワーク側ではなくサンプルコード側のTypeErrorなので、Django 2.2.3にバージョンアップするまでに加えられた記述方法の変更箇所が原因なのでしょう。おそらく。
この「Pythonエンジニア ファーストブック」のサンプルコードでは、使用するDjangoのバーションを1.11.3としていますが、本の中ではPython 3.6.1を使用していたので、一番の原因は本の通りにやらなかった私のわがままでした。