如何在起始页上使用Django构建登录小部件?
如何在左上角的小部件中的startingpage上构建登录表单 我想有一个时尚的Web2.0一样的登录…在右上角滑入(如dropbox.com)…到目前为止的设计部分 当涉及到django(1.4)的视图和默认登录行为时,我无法找到正确的方向。我得到了一个标准示例,可以与django.contrib.auth等一起使用。。。 但是如果我在第一个站点上有我的登录小部件呢: (r“^$”,“myproject.views.home”) 我尝试将表单集成到我的模板(home.html)中,如下所示:如何在起始页上使用Django构建登录小部件?,django,Django,如何在左上角的小部件中的startingpage上构建登录表单 我想有一个时尚的Web2.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/与其中任何一个都不匹配
有没有关于在第一页上登录的帮助或一个好例子……或者一个用于此目的的自定义登录?根据我在这里看到的所有内容,实际上您在
/login/
上没有任何东西可以捕获登录,而是尝试通过当前URL登录。在这种情况下,您应该从登录表单中完全删除操作
属性。这是一个urlconf问题。展示你的。@IgnacioVazquez Abrams谢谢你的提问……我添加了urlconf部分……你可能是对的!验证{%csrf\u token%}
是否实际输出了任何内容。由于您没有提供请求上下文,csrf将失败。从django.template导入RequestContext,然后添加RequestContext(request)作为render_to_响应中的最后一个参数。