1

当我尝试使用 访问视图 URL 时@login_required,它会将我重定向到登录表单。但是呈现的表单没有action=属性,当我单击提交按钮时没有任何反应。但是当我去的时候,/admin/我得到了工作登录表单。在我以这种方式登录后,所有视图都可以正常工作。我正在使用admin_bootstrap,所以它是不同的登录表单。但是为什么默认的人会那样做呢?

相关代码:

mySubApp/views.py

@login_required
def index(request):
    user = request.user
    return HttpResponse("Hello, world. You're at index.")

主应用程序/urls.py

#login
url(r'^login/$', 'django.contrib.auth.views.login', name='LogMeIn'),

#mySubApp
url(r'^subapp/', include('mySubApp.urls')),

mySubApp/urls.py

urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
)

设置.py

LOGIN_URL = 'LogMeIn'

我是否需要创建自定义登录表单才能使其正常工作或什么?

4

1 回答 1

5

使用身份验证视图时,您必须定义自己的模板(默认不提供):

Django 提供了几个视图,可用于处理登录、注销和密码管理。这些使用库存身份验证表单,但您也可以传递自己的表单。

Django 没有为身份验证视图提供默认模板 - 但是下面的每个视图都记录了模板上下文。

所以创建一个registration/login.html

<form action="{% url auth:login %}" method="post">{% csrf_token %}
  {{ form.as_p }}
  <input type="submit" value="Submit" />
</form>
于 2013-10-08T13:35:08.853 回答