初学Django--Login

配置

  • 安装Django `pip install django`
  • 创建一个Django项目 `django-admin startproject mysite`
  • 创建Sqlite数据库 `cd mysite && python manage.py migrate`
  • 运行 `python manager.py runserver`

 

Django auth app

Django项目创建的时候自动安装了auth app, 可以再`setting.py`的`INSTALLED_APPS`中看到za

INSTALLED_APPS = [
    ...
    'django.contrib.auth', 
    ...
]

在urls.py中配置

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
]

我们这里使用的`include`等于在accouns目录下面包含

accounts/login/ [name='login']
accounts/logout/ [name='logout']
accounts/password_change/ [name='password_change']
accounts/password_change/done/ [name='password_change_done']
accounts/password_reset/ [name='password_reset']
accounts/password_reset/done/ [name='password_reset_done']
accounts/reset/// [name='password_reset_confirm']
accounts/reset/done/ [name='password_reset_complete']

 每个对应的URL都已经包含了相应的auth views 所以我们就只需要配置`template`

Login

Django默认查看`templates/registration/login.html`,所以我们按照这个路径创建一个`login.html`

mkdir templates
mkdir templates/registration
touch templates/registration/login.html

在login.html中加入

Login

{% csrf_token %} {{ form.as_p }}

然后在`setting.py`中找到`TEMPLATES`

TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        ...
    },
]

接着在`setting.py`的末尾加上

LOGIN_REDIRECT_URL = '/'

这样再次启动Django服务器打开`http://127.0.0.1:8000/accounts/login`就能看到Login页面了

你可能感兴趣的:(Python,Django)