开发者

Django doesn't seem to detect my login.html, block problem?

I'm creating a web app with django 1.2.4.

I am using contrib.auth.views.login, I have followed every step but it seems I have forgotten something cause I don't see the login form. Here is my folder structure:

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

...and here is my 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">{{ f开发者_Python百科orm.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 %}

...and in my base.html I have:

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

I have a basestyle.css included in base.html and the other templates inherit correctly too... it seems to be a block problem...

Any solution?? Thnak you


Instead of inserting of a block I used the include tag in base.html, just like this:

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


If you’d prefer not to call default (django provided) template registration/login.html, you can pass the template_name parameter via the extra arguments to the view in your URLconf.

For example, this URLconf line would use myapp/login.html instead:

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

Reference : Django official documentation

It solves my problem. Hope this works for others.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜