Lor*_*ABA 1 python django django-authentication
当我尝试使用视图的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.")
Run Code Online (Sandbox Code Playgroud)
mainApp/urls.py:
#login
url(r'^login/$', 'django.contrib.auth.views.login', name='LogMeIn'),
#mySubApp
url(r'^subapp/', include('mySubApp.urls')),
Run Code Online (Sandbox Code Playgroud)
mySubApp/urls.py:
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
)
Run Code Online (Sandbox Code Playgroud)
settings.py:
LOGIN_URL = 'LogMeIn'
Run Code Online (Sandbox Code Playgroud)
我是否需要创建自定义登录表单才能使其正常工作?
使用身份验证视图时,您必须定义自己的模板(defualt不提供这些模板):
Django提供了几个可用于处理登录,注销和密码管理的视图.这些使用了股票身份证明表格,但您也可以传递自己的表格.
Django没有为身份验证视图提供默认模板 - 但是下面的每个视图都记录了模板上下文.
所以创建一个registration/login.html:
<form action="{% url auth:login %}" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3491 次 |
| 最近记录: |