Django 2.0 パスエラー ?: (2_0.W001) に '(?P<')' を含むルート、'^' で始まるルート、'$' で終わるルートが存在します。
2023-11-20 20:52:18
質問内容
自分のウェブサイトで音楽アプリケーションのバックエンドコードを作成しようとしています。
以下のように、views.pyファイル(正しいディレクトリ)に正しいビューを作成しました。
def detail(request, album_id):
return HttpResponse("<h1>Details for Album ID:" + str(album_id) + "</h1>")
しかし、これに対するURLやパスを作成する場合(下図)には
#/music/71/ (pk)
path(r'^(?P<album_id>[0-9])/$', views.detail, name='detail'),
ターミナルに警告が表示されます。
?: (2_0.W001) Your URL pattern '^(?P<album_id>[0-9])/$' [name='detail'] has a route that contains '(?P<', begins with a '^', or ends with a '$'. This was likely an oversight when migrating to django.urls.path().
そして、いつでも
/music/
(パスが機能する) の後に数字が続く場合は、例えば
/music/1
のような数字が続く場合 (これは私ができるようにしたいことです)、ページが見つからず、ターミナルは上記の警告を出します。
どうすれば解決できますか?
新しい
path()
の構文は、正規表現を使いません。次のようなものが欲しいでしょう。
path('<int:album_id>/', views.detail, name='detail'),
正規表現を使いたい場合は
re_path()
.
re_path(r'^(?P<album_id>[0-9])/$', views.detail, name='detail'),
古い
url()
はまだ機能しており、現在はエイリアスとして
re_path
へのエイリアスですが、将来的には非推奨となる可能性があります。
url(r'^(?P<album_id>[0-9])/$', views.detail, name='detail'),
関連
-
Djangoの基本(16)。テンプレートタグの紹介とそのカスタマイズ方法
-
Django2.2エラー - AttributeError: ''str'' オブジェクトに ''decode'' 属性がない。
-
ImproperlyConfiguredです。DEFAULT_INDEX_TABLESPACE の設定を要求されましたが、設定されていません。
-
ImproperlyConfiguredです。INSTALLED_APPS の設定を要求されたが、設定されていない
-
[解決済み] NoReverseMatchエラーとは何ですか、またどのように修正しますか?
-
[解決済み] Django のフォームで、あるフィールドを編集できないように readonly (または disabled) にするにはどうしたらいいですか?
-
[解決済み] django 2.0のurls.pyでpath()とurl()のどちらを使うのがいいのでしょうか?
-
[解決済み] django で複数のオブジェクトを削除する
-
[解決済み] egg_infoエラーでpipからインストールできない
-
[解決済み] django テンプレートで "ブロック" を繰り返す方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Django2.2エラー - AttributeError: ''str'' オブジェクトに ''decode'' 属性がない。
-
Django でチェックボックスの値を取得する方法
-
[解決済み] Django vs. Model View Controller [終了しました]。
-
[解決済み] QuerySetで空白またはNULLの名前をフィルタリングする方法は?
-
[解決済み] Django のカスタムフィールドで User モデルを拡張する
-
[解決済み] Django のモデルで電話番号を保存する最良の方法は何ですか?
-
[解決済み] Django で null を許容するユニークなフィールド
-
[解決済み] Django で現在ログインしているユーザのユーザ ID を取得する方法は?
-
[解決済み] Django でモデルのフィールドを取得する
-
[解決済み] django のモデルのクラス名を取得する