在Django 1.5中更改登录表单的默认模板

时间:2013-04-12 21:19:25

标签: django django-templates

非常简单的问题。在视图上方使用login_required装饰器时,身份验证系统会使用LOGIN_URL中的模板将我重定向到settings.py中registration/login.html中定义的任何网址。

问题:如何为登录表单定义不同的模板名称(我不想使用默认值)?

2 个答案:

答案 0 :(得分:4)

login documentation

  

如果您不想调用模板registration/login.html,可以通过额外参数将template_name参数传递给URLconf中的视图。例如,此URLconf行将改为使用myapp/login.html

(r'^accounts/login/$',
 'django.contrib.auth.views.login',
 {'template_name': 'myapp/login.html'}),

答案 1 :(得分:1)

---- Django 1.10 --------

我在设置中更改了TEMPLATE_DIR以解决此问题

setting.py

    TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR,'templates')],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',

        ],
    },
},] 

urls.py

    url(r'^login/$', auth_views.login, {'template_name': 'registration/login.html'}, name='login'),

并将registration文件目录放在templates目录下!

相关问题