0

如何在左上角的小部件中的起始页上构建登录表单?

我想要一个时尚的 web 2.0,比如登录……在右上角滑入(就像在 dropbox.com 上)……到目前为止,设计部分……

当谈到 django (1.4) 的视图和默认登录行为时,我无法让自己走向正确的方向。我得到了与 django.contrib.auth 等一起使用的标准示例......但是如果我在第一个站点上有我的登录小部件怎么办:

(r'^$', 'myproject.views.home')

我尝试将表单集成到我的模板(home.html)中,如下所示:

<form action="/login/" method="post">{% csrf_token %}
        {% if next %}
        <input type="hidden" name="next" value="{{ next }}" />
        {% endif %}
        username:
        <input type="text" name="username" value="{{ username}}" /><br />
        password:
        <input type="password" name="password" value="" /><br />
                <input type="hidden" name="next" value="{{'something'}}" />
        <input type="submit" value="anmelden" />
    </form> 

我的观点是这样的:

def home(request):
    title='home'

    try:
         username = request.POST.get('username', '')
         password = request.POST.get('password', '')
         user = auth.authenticate(username=username, password=password)
         if user is not None and user.is_active:
        # Correct password, and the user is marked "active"
            auth.login(request, user)
        # Redirect to a success page.
            return HttpResponseRedirect("/im_in/")
        else:
        # Show an error page
            return HttpResponseRedirect("/im_not/")
    except:


        return render_to_response('home.html',locals()) 

[编辑] 我的 urlconf:

urlpatterns = patterns('',

    (r'^$', 'edumin.views.home'),
)

我的问题:

提交 django 后将我带到 /login 并说:

当前的 URL,login/,与其中任何一个都不匹配。

任何帮助或在第一页登录的好例子......或用于此目的的自定义登录?

4

1 回答 1

1

根据我在这里看到的所有内容,您实际上没有任何东西/login/可以捕获登录信息,而是尝试通过当前 URL 登录。在这种情况下,您应该从登录表单中完全删除该action属性。

于 2012-06-22T16:42:27.167 回答