2012-01-25 26 views
0

私は2つのテンプレートを作成しました(passwdの変更、passwdの変更の変更)。 そして、私はパスワードを変更しようとしました。次に、パスワードが変更されました。 しかし成功ページは表示されません。パスワード変更ページのみが再読み込みされます。 私は知らない何が問題ですか?django登録テンプレート

もう1つ、登録フォルダはどこですか。 あなたはそれをお手伝いしますか? ありがとうございます。

url(r'^accounts/chpasswd/?', 'django.contrib.auth.views.password_change', {'template_name':'password_change.html'}), 
url(r'^accounts/chpasswd/done/?', 'django.contrib.auth.views.password_change_done', {'template_name':'password_change_done.html'}), 

答えて

1

パスワードを変更しているときは、おそらくアプリケーションのviews.pyファイルにある関数を使用しています。その関数が終了時には、ほとんどの場合、データを返す可能性が高く、最も頻繁にそれをテンプレートに返します。

はここに例を示します。この場合

return render_to_response('myapplication/frontend.html', {'profile': profile_obj}, 
     context_instance=RequestContext(request)) 

/myproject/myapp/templates/myapp/frontpage.htmlでおそらくテンプレートfrontend.htmlに変数profile_objの値を返すために起こっています。その後、テンプレートファイル内から{{ profile.instance }}を呼び出して、そのオブジェクトのインスタンスにアクセスできます。

この機能の詳細can be found here

ここで、urls.pyファイルは、目的のアプリケーションへの要求の転送に使用されるファイルです。 例:

url(r'^accounts/chpasswd/?', 
    'django.contrib.auth.views.password_change', 
    {'template_name':'password_change.html'}), 
url(r'^accounts/chpasswd/done/?', 
    'django.contrib.auth.views.password_change', 
    {'template_name':'password_change_done.html'}), 

そして、これは(与えられたあなたのウェブサイトがwww.mysite.comである)以下の意味:

1はwww.mysite.com/accounts/chpasswd/を開き、django.contrib.authモジュールの観点から機能password_changeを実行し、その場合関数は有益です(何らかの値を返します)。password_change.html

django.contrib.authモジュールは、ログインやログアウト、パスワード機能などのテンプレートに値を返します。あなたのテンプレートはDjangoは彼らのためにことになるだろう場所にあるので、settings.pyでTEMPLATE_DIRS設定を確認する必要があります)

1:

さて、あなたは、2つのことに注意する必要があります。

2)私は、Djangoに既にこのようなテンプレートがあると確信しています(しかし100%は確信していません)。 Djangoのデフォルトテンプレートの1つと同じテンプレート名がある場合は、django.contrib.adminINSTALLED_APPSになる前にアプリケーションがインストールされていることを確認してください。そうでなければdjangoテンプレート(django adminと同じデザインを共有します)が表示されます。

===================================

EDIT質問は、あまりにも、編集されたので、

そうのように、urls.pyの順序を変更してみてください:

url(r'^accounts/chpasswd/done/?', 
    'django.contrib.auth.views.password_change_done', 
    {'template_name':'password_change_done.html'}), 

url(r'^accounts/chpasswd/?', 
    'django.contrib.auth.views.password_change', 
    {'template_name':'password_change.html'}), 
+0

1. [マイテンプレートはTEMPLATE_DIRSです。 2.それは私のINSTALLED_APPS 'django.contrib.auth'、 'django.contrib.contenttypes'、 'django.contrib.sessions'、 'django.contribです。サイト、 'django.contrib.messages'、 'django.contrib.staticfiles'、 'django.contrib.humanize'、 'django.contrib.admin'、 'chart_tools'、 'medics.sbox' 、 '登録'、 – user1161599

+0

が最初です。アカウント/ chpasswd /でパスワードを変更しようとしています。 accounts/chpasswd/done /にURLを変更します。 URLが変更されました。しかし、Webページは変更されていません。 accounts/chpasswd/pageだけがリロードされました。実際のパスワード変更は成功しました。 INSTALLED_APPS内の – user1161599

+0

には、「登録」をリストの最初に入れます。その後、 '/ mydjangoproject/registration/templates/registration/password_change_done.html'を開きます。 – Milos

関連する問題