django如何知道在哪里加载login.html

时间:2011-11-15 22:20:54

标签: django

我已使用以下步骤创建登录页面。

1>创建urls.py

urlpatterns = patterns('',
(r'^$', main_page),
(r'^login/$', 'django.contrib.auth.views.login'),
)

2 - ;创建registration/login.html

3>加载http://127.0.0.1:8000/login/然后我会看到创建的login.html。

我的目录结构如下:

.
├── bookmarks
│   ├── forms.py
│   ├── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── bookmarksdb
├── __init__.py
├── manage.py
├── settings.py
├── site_media
│   └── style.css
├── templates
│   ├── base.html
│   ├── main_page.html
│   ├── registration
│   │   ├── login.html
│   │   ├── logout_success.html
│   │   ├── register.html
│   │   └── register_success.html
│   ├── user_page.html
└── urls.py

问题> django如何知道将http://127.0.0.1:8000/login/template\registration\login.html联系起来?

谢谢

1 个答案:

答案 0 :(得分:6)

如果你查看django.contrib.auth.views.py,你会发现

def login(request, template_name='registration/login.html'),
      redirect_field_name=REDIRECT_FIELD_NAME,
      authentication_form=AuthenticationForm,
      current_app=None, extra_context=None):
"""
Displays the login form and handles the login action.
"""

它只是默认的模板路径,您可以根据需要覆盖