2

に次の行がありますurls.py

url(r'^changepassword/$', 'django.contrib.auth.views.password_change',
    {'template_name': 'account/changepass.html', 
     'post_change_redirect' : reverse('settings')}, name='change_password'),

ただし、別のビュー (この URL へのリンクを含む) を読み込むと、次のようになりますTemplateSyntaxError

/account/ の TemplateSyntaxError

レンダリング中に NoReverseMatch をキャッチしました: 引数 '()' とキーワード引数 '{}' を持つ 'change_password' のリバースが見つかりません。

In template ..../templates/account/settings.html, error at line 7

<p><a href='{% url change_password %}'>Change your password</a>

何がうまくいかないのですか?

4

4 に答える 4

1

reverseURL構成がロードされる前に実行されるコード、たとえばsettings.py、またはあなたの場合はURL構成で使用しないでください。

Django 1.4 では、これらの場合reverse_lazyの代わりに使用できます。reverse

于 2012-08-15T11:41:34.380 に答える
0

呼び出しを削除し、reverse単にこれを/settings/修正するように変更しました。なぜここで機能しないのかわかりませんreverse

于 2012-08-15T08:58:47.413 に答える
-1

次のように使用できます。{% url django.contrib.auth.views.password_change %}

于 2012-08-14T17:43:44.217 に答える
-1

試してください:(<a href='{% url "change_password" %}'>名前を引用符で囲んで-change_passwordテンプレート変数ではなく文字列にする必要があります)

于 2012-08-14T17:38:05.507 に答える