我已使用以下步骤创建登录页面。
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
联系起来?
谢谢
答案 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.
"""
它只是默认的模板路径,您可以根据需要覆盖