1.2.3-3+squeeze1
Debian スクイーズでDjango を使用しています。
に対応するアプリケーションで Django パスワード変更ビューを使用しようとしていますdjango.contrib.auth.views.password_change
。これは簡単なように見えますが、問題が発生しています。
簡潔さと完全性のために、オンラインのアプリケーション ファイルを参照します。アプリケーションはbixfileです。対応する Django プロジェクトはbixprojです。
url.py の関連する行は https://bitbucket.org/faheem/bixfile/src/49bcbab3a7be/urls.py#cl-65、つまり
url(r'^password_change/$', 'django.contrib.auth.views.password_change', {'post_change_redirect':reverse('top_folders')}, name="password_change"),
これにより、それが使用されているすべてのテンプレートが壊れます。現在、 一連のテンプレートに含まれているテンプレート calgb_base.html のhttps://bitbucket.org/faheem/bixfile/src/71de33d01f43/templates/calgb_base.html#cl-21行でのみ使用しています。テンプレートhttps://bitbucket.org/faheem/bixfile/src/71de33d01f43/templates/index.htmlに対応する最上位のインデックス ビューを含み ます。calgb_base.html の行は
<li><a class="side" href="{% url password_change %}">Password Change</a></li>
https://bitbucket.org/faheem/bixfile/src/71de33d01f43/urls.py#cl-16
および
https://bitbucket.org/faheem/bixfile/src/71de33d01f43/viewsに対応するトップindex
ビュー
に移動すると、 .py#cl-203
で始まるエラーが表示されます
Caught NoReverseMatch while rendering: Reverse for 'password_change'
with arguments '()' and keyword arguments '{}' not found.
完全なトレースバックが役に立つとは思えませんが、 http://paste.lisp.org/display/122996に貼り付けました。
このエラーは、Apache 2.2 と mod-wsgi の両方、および組み込みの Django テスト サーバー (以下を参照) で再現可能です。
/password_change/ 相対 URL に直接アクセスすると、期待どおりにパスワード変更フォームが表示されます。
奇妙なことに、このパスをテストするために作成したすべてのテストがパスし、期待される結果が生成されます。たとえば 、 testIndexUrl 、 testIndexView 、および test_password_change_urlを参照してください。
bixproj
次のコマンドを使用して、ディレクトリからテストを実行できます
python manage.py test
このエラーを再現したい場合は、比較的簡単です。
まず、プロジェクト ( bixproj
) とアプリケーション リポジトリ ( ) をダウンロードしますbixfile
。そう
hg clone ssh://hg@bitbucket.org/faheem/bixproj
hg clone ssh://hg@bitbucket.org/faheem/bixfile
次に、bixfile が Python パスにあることを確認します。DATABASES を sqlite を使用するように変更します。次に変更
LOGIN_URL = '/'+BIXFILE_NAME+'/login/'
LOGIN_REDIRECT_URL= '/'+BIXFILE_NAME+'/'
に
LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL= '/'
その後、実行中
python manage.py runserver
ローカル マシンのbixproj
ディレクトリで、デフォルトの URL に移動すると
http://127.0.0.1:8000/
、エラーが表示されます。
必要に応じて、エラーを示す最小限の例を作成できると思いますが、このエラーが明白であり、そうする必要がないことを本当に望んでいます。前もって感謝します。