2017-04-24 10 views
1

にアップグレードする作業URLパラメータの名前1.10何ももう動作しません。そのように使用された場合はNoReverseMatchを返します。Djangoは、私がURLのテンプレートタグをこのように使用して、古いDjangoのアプリを持っていなくなった後、1.10または1.11

私はurls.pyファイルにapp_name = 'smart_service'を置くことによって、これまでのURLのタグを変更することでこの問題を解決することができます

{% url 'smart_service:view_name' %} 

これは面倒な作業とエラーに非常になりやすいですが、私はそれを避けるしたいのですが厳密に必要な場合を除きます。

最初のユースケースは推奨されていませんか?そうでない場合、それはもはやなぜ機能していないのですか?どちらか一方を使用することに特有の利点はありますか?

答えて

3

Django 1.10以降にアップグレードしたときにこの変更を避けることはできません。

点在するPythonパスを使用してURLを逆転することのサポートは、deprecated in Django 1.8removed in 1.10でした。

{% url %}タグを変更して、ビュー名を使用する必要があります。

{% url 'view_name' %} 

あなたurls.pyに名前空間を追加する場合、たとえばapp_name = 'smart_service'のために、あなたは{% url %}タグに名前空間を含める必要があります。

{% url 'smart_service:view_name' %} 
関連する問題