基板設計記録WEBアプリその14
SyntaxError: unexpected EOF whlie parsingというエラーメッセージが
出た
多くは関数やメソッドの括弧を閉じ忘れていると発生するエラーメッセージ
該当するファイル名は
#PDRのurls.py #HTTPリクエストから送られたURLにマッチするパスを探す #マッチするパスを探す時はプロジェクトフォルダのurls.pyを上から順番に探していく #2022-3-3作成 from django.urls import path from . import views urlpatterns = [ path(' ', views.Pdr_dataList.as_view(), name='Pdr_data'), path('<int:pk>/', views.Pdr_dataDetail.as_view(), name='detail'), path('create/', views.Pdr_dataCreate.as_view(), name= 'create'), #この行のコードが原因
見れば分かるが、
コードの最後に'](角括弧)'で閉じられていないのが目立った。
あたかもこの後もコードが続くようになっている
エラーを解消したコードを以下のように示す
urlpatterns = [ path(' ', views.Pdr_dataList.as_view(), name='Pdr_data'), path('<int:pk>/', views.Pdr_dataDetail.as_view(), name='detail'), path('create/', views.Pdr_dataCreate.as_view(), name= 'create'), ]
コードが正しく書かれている場合では、
次のような流れでコードが走る
1.Pythonプログラムがコードを解釈する
2.urlpatterns関数を見つける
3.関数の引数のpathを上から順番に実行していく
4.pathで用意された'create'を見つけて開こうとする
コードに文法ミスがあった場合だと・・・
SyntaxErrorは、この段階で発生するエラー
Pythonは、'はじめ括弧('を見つけたら、それに対応する
閉じ括弧を探す
これがSyntaxError: unexpected EOF whlie parsingという
エラーメッセージが発生する仕組み
もし、閉じ括弧が不足している処理の後に
他の処理がある場合は、別のエラーメッセージSyntaxError: invalid syntaxが
発生する。
次回は、再度マイグレーションファイルの生成を実行して、
無事にPDRアプリケーションフォルダ内に
migrationsフォルダが作成されるかを見る