と呼ばれていない私はDjango at a glance | Django documentation | Djangoコールバック関数オブジェクトは、
にDjangoにlearing午前のURLconfを導入する場合それは読む:
のアプリのURLを設計するには、URLconfのと呼ばれるPythonモジュールを作成します。あなたのアプリケーションの目次で、URLパターンとPythonコールバック関数の間の単純なマッピングが含まれています。
ただし、コールバック関数は呼び出されません。
mysite/news/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^articles/([0-9]{4})/$', views.year_archive),
]
print('callback funtion:',views.year_archive)
出力:
callback function: <function views.year_archive at 0x1039611e0>
だからと呼ばれていない目的球オブジェクト。
私は、電話を有効にするにはviews.year_archive()
とする必要があります。
呼び出されない場合、どのように動作しますか?親クラスでそれを処理するデコレータがあると仮定します。
私はurl
django.conf.urls | Django documentation | Django
のソースコードを確認する重要なステートメントは次のとおりです。
elif callable(view):
return RegexURLPattern(regex, view, kwargs, name)
私はLocaleRegexProvider
、RegexURLPattern
django.urls.resolvers | Django documentation | Djangoを探索する上で掘ります。 コールバック関数を呼び出すコードが見つかりませんviews.year_archive
どのような仕組みですか?
エラーが発生しますか? Coz 'DEBUG = True' Djangoは、要求されたURLがどんなパターンとも一致しなかったと言わなければならないので、分析を開始する場所を最初から定義することができます。そして、関数はオブジェクト 'views.year_archive'として渡されなければなりません。そして、結果コールバックを渡します。 –