0

私はこのコードを持っています:

<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' のリバースが見つかりません。

これは「アカウント」オプション専用です。「ログアウト」オプションは単独で正常に機能します。当然、SOでエラーを検索しましたが、それは「アカウント」がどこにも存在しないことに関するものです-しかし、私はdjangoを初めて使用し、修正方法がわかりません!

したがって、上記の行を機能させたいと仮定すると-そして、仕事によって、あるページへのリンクとして存在することを意味します(もちろん、それは問題ではありませんが、たまたまユーザーの詳細が表示されます〜ユーザー名、変更するオプションパスワードなど)私は何をする必要がありますか?

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

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

乾杯!

4

2 に答える 2

2

その関数/ビュー ( account) は存在しません。コードを見てください:

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

もちろん、存在しないビューを元に戻すことはできません。あなたは何をしようとしているのですか?

コメントで質問したことに答えます(ところで、それは別の質問です)

独自のビューを作成する必要があります。Django のビューは関数であるため、それらを「サブクラス化」することはできません。ただし、再利用して組み合わせることができます。

その方法を説明するつもりでしたが、正しい場所を示した方がよいでしょう。django チュートリアルから始めます。

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

1 時間で、プロセス全体を理解できます。

最後に、ユーザー アカウント データを処理するサードパーティのアプリケーションを見つけることができます。その過程で多くのことを学びます。

于 2012-04-27T13:49:22.590 に答える
1

DjangoでURLがどのように機能するかについてのドキュメントを読む必要があります:https ://docs.djangoproject.com/en/1.4/topics/http/urls/

于 2012-04-27T13:43:58.500 に答える