2011-06-24 10 views
1

私はdjango 1.2.4でWebアプリケーションを作成しています。Djangoはlogin.htmlを検出していないようですが、問題をブロックしていますか?

contrib.auth.views.loginを使用していますが、すべての手順を踏んでいますが、ログインフォームが表示されないため何かを忘れてしまったようです。

/templates/ 
    base.html 
    /myapp/ 
     object_list.html 
     ... 
    /registration/ 
     login.html 

...と、ここに私のlogin.htmlと次のとおりです:ここに私のフォルダ構造がある

{% extends "base.html" %} 
{% block mylogin %} 
<div class="horizontal"> 
    {% if form.errors %} 
     <p>Your username and password didn't match. Please try again.</p> 
    {% endif %} 
    <form action="{% url django.contrib.auth.views.login %}" method="post"> 
     {% csrf_token %} 
     <div class="login_box"> 
      <div class="login_text">{{ form.username.label_tag }}</div><div class="login_input">{{ form.username }}</div> 
      <div class="password_text">{{ form.password.label_tag }}</div><div class="password_input">{{ form.password }}</div> 
      <input id="button_login" type="submit" value="" /> 
     </div> 
    </form> 
</div> 
{% endblock %} 

...と私base.htmlに私が持っている:

<div id="some_div"> 
{% block mylogin %} {% endblock %} 
</div> 

私はbas.htmlに含まれているbasestyle.cssを持っており、他のテンプレートも正しく継承されています...ブロックの問題のようです...

何か解決策?? Thnakあなたの代わりに、私はちょうどこのように、base.htmlでincludeタグを使用ブロックの挿入の

+3

どのようにそのテンプレートをレンダリングしていますか? –

+0

エラーやトレースバックなどがありますか?それらを投稿すると役立つかもしれません。 –

+0

mmmm ...興味深いことに、私はこのログインフォームをすべてのページに配置しようとしていますが、私はテンプレートのみを含めるとします:return render_to_response( 'myapp/object_list.html'、 \t \t \t { 'items':entry_list、}、 \t \t context_instance = RequestContext(request))ログイン用の新しいビューを作成せずに、どのページでもlogin.htmlをレンダリングできますか? – juankysmith

答えて

0

{% include "registration/login.html" %} 
0

デフォルト(Djangoは提供)テンプレート登録を/呼び出すために希望されない場合login.htmlでは、URLconfのビューに余分な引数を指定してtemplate_nameパラメータを渡すことができます。

例えば、下のようなURLconfの行ではなく、myappの/ login.htmlとを使用します。

(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'myapp/login.html'}),

はリファレンス:Django official documentation

それは私の問題を解決します。これが他の人のために働くことを望みます。

関連する問題