2012-04-27 15 views
0

は、私はこのコードを持っている:簡単なdjango:このコードで何が問題になっていますか?

<li><a href="{% url 'django.contrib.auth.views.logout' %}">Logout</a></li> 
<li><a href="{% url 'django.contrib.auth.views.account' %}">Account</a></li> 

をし、私はそれを実行したときに私はそれがちんぷんかんぷんである方法に関するエラーが発生します。エラーがそれを言っていない、もちろん、それは言う:レンダリング中

巻き込まNoReverseMatch:引数を持つ「django.contrib.auth.views.account」「()」とキーワード引数のためのリバース「{} ' 見つかりません。

「アカウント」オプションの場合にのみ、「ログアウト」オプションは単独で問題なく動作します。 当然私はエラーのためにそれを探しました、そして、それは "アカウント"がどこにも存在しない方法についての何かです - しかし、私はdjangoに新しくて、修正する方法が全くありません!

私は上の行がうまくいくことを前提としていました。仕事によっては、何かのページへのリンクとして表示されています(もちろん何が問題なのでしょうか? 、パスワードを変更するオプションなど)私は何をする必要がありますか?

私のurls.pyに何かが必要ですか?私のフォームに何か?

UPDATE [%url 'django.contrib.auth.views.XYZ'%}がXYZと呼ばれるビュークラスのメンバーを指しているので、「アカウント」を追加する場合は、ページ、私はビュークラスをサブクラス化し、そこに機能を追加しますか? または、新しいビュー( '/ accounts /')を追加してビューの情報を追加するだけでいいですか?

乾杯!

答えて

2

その関数/ビュー(account)は存在しません。コードを見てみましょう:存在しないビューを逆にすることはできません。もちろん、

https://github.com/django/django/blob/master/django/contrib/auth/views.py

。あなたは何をしようとしているのですか?あなたがあなたのコメントに尋ね答える

あなたは独自のビューを作成する必要があります(これはところで他の質問です)。 Djangoのビューは関数なので、サブクラス化することはできません。あなたは再利用して組み合わせることができます。

私はあなたにそれを行う方法を示すつもりでしたが、正しい場所を指す方が良いでしょう。あなたは全体のプロセスを理解するだろう時間で

https://docs.djangoproject.com/en/1.4/intro/tutorial01/

:Djangoのチュートリアルを開始します。

最後に、ユーザーアカウントのデータを処理するサードパーティのアプリケーションを見つけることができます。Pinaxをご覧になることができますが、自分で行うことをお勧めします。あなたはその過程で多くを学ぶでしょう。

+0

ohhhhhhh。そのため、定義済みの関数にリンクしています。得た。それ。だから、私はユーザーが自分のユーザー名/パスワード/電子メールを表示し、それらを編集するオプションを提供するビューを持っていたい場合、私はそのビューをサブクラス化し、アカウントメソッドを提供する必要がありますか? – bharal

1

あなたはURLはジャンゴでの作業方法についてのドキュメントを読む必要があります。https://docs.djangoproject.com/en/1.4/topics/http/urls/

+0

ok、私はそれを読んだ - と私はまだ分かりません。質問を更新しました! – bharal

+0

ユーザー名、パスワードなどを変更できるようにするauth内のフォームとビューがあらかじめ定義されています。 – Brandon

関連する問題