如何使用Django';要进行身份验证的通用视图

如何使用Django';要进行身份验证的通用视图,django,django-models,django-forms,django-templates,django-views,Django,Django Models,Django Forms,Django Templates,Django Views,我正试着按照它在这个链接中所说的去做: 因此,在上面提供的链接中,它谈到了“URL name:login”,在可选参数中,它说: “redirect_field_name:登录后包含要重定向到的URL的GET字段的名称。如果传递给定的GET参数,则覆盖next。” 如何指定下一步是什么?如果你再向下滚动一点,它会显示 “…视图重定向到next中指定的URL。如果未提供next,则重定向到settings.LOGIN\u REDIRECT\u URL” 如何指定下一步是什么以及设置。登录\u重定

我正试着按照它在这个链接中所说的去做:

因此,在上面提供的链接中,它谈到了“URL name:login”,在可选参数中,它说:

“redirect_field_name:登录后包含要重定向到的URL的GET字段的名称。如果传递给定的GET参数,则覆盖next。”

如何指定下一步是什么?如果你再向下滚动一点,它会显示

“…视图重定向到next中指定的URL。如果未提供next,则重定向到settings.LOGIN\u REDIRECT\u URL”

如何指定下一步是什么以及
设置。登录\u重定向\u URL
是什么


另外,如果有人能给出一个如何使用泛型视图进行身份验证的示例,那将是非常好和有用的,但如果没有,那也没关系,只要上面的问题得到了回答。我知道他们给出了一个模板示例,但我想要一个如何创建实际视图并使用它的示例。

假设您的
url.py
看起来与此类似:

from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
    url(r'^$', 'mywebsite.index', name='index'),
    url(r'^login/$', 'django.contrib.auth.views.login', name='login'),
    url(r'^logout/$', 'django.contrib.auth.views.logout_then_login', name='logout')
)
然后在设置文件中,放入如下内容:

LOGIN_REDIRECT_URL = 'index'
LOGIN_URL = 'login'
LOGOUT_URL = 'logout'
这将导致登录页面重定向到
mywebsite.index
视图(因为
name='index'
与此视图匹配,这是我们在
login\u redirect\u URL
中设置的)

我知道他们给出了一个模板示例,但我想要一个如何创建实际视图并使用它的示例

django在
django.contrib.auth.views.login上提供了“实际视图”,因此您根本不需要创建视图。这就是你正在阅读的部分的全部要点。您提供模板,该模板发布到视图,然后视图重定向到
LOGIN\u REDIRECT\u URL


现在,当您使用decorator时,django将通过内置的django登录视图将用户重定向到您的登录模板。

Hm好的,如果我想在表单无效时重定向到URL/如果用户名与密码不匹配,我将在哪里指定重定向到哪里?我刚刚查看了django.contrib.auth.views.login,其中有一个if form.is_valid()语句,但如果它无效,则没有其他语句。。我是否应该将其添加到视图中,说如果它无效,然后重定向到另一个url?@user2817200如果它无效,它将返回到带有相应表单错误的登录页面,这是您(通常)想要的。