python 用户账户2 2021-03-07

创建用户账户

2.1应用程序users

startapp创建users应用程序

PS C:\Users\hp\Desktop\learning_log> python manage.py startapp users

PS C:\Users\hp\Desktop\learning_log> dir

    目录: C:\Users\hp\Desktop\learning_log

Mode                LastWriteTime        Length Name                                 

----                -------------        ------ ----                                 

d-----        2021/3/1    14:11                .vscode                             

d-----        2021/3/2    17:17                learning_log                         

d-----        2021/3/4    23:21                learning_logs                       

d-----        2021/3/6    23:01                users                               

-a----        2021/3/1    17:23        143360 db.sqlite3                           

-a----        2021/3/1    14:17            690 manage.py

2.2将users添加到settings.py

INSTALLED_APPS = [

    'learning_logs',

    'users',

    # 默认添加的应用程序

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

]


2.3包含users的URL

urls.py

urlpatterns = [

    path('admin/', admin.site.urls),

    path('users/', include('users.urls')),

    path('', include('learning_logs.urls')),

]


2.4登陆界面

learning_log/users 新建urls.py

'''为应用程序users定义URL模式'''

from django.urls import path, include

app_name = 'users'

urlpatterns = [

    # 包含默认的身份验证URL

    path('', include('django.contrib.auth.urls')),

]


1.模板login.html

users 新建 templates 、registration文件夹 新建login.html

{% extends "learning_logs/base.html" %}

{% block content %}

    #显示一条错误信息

    {% if form.errors %}

        <p>Your username and password did not match.Please try again.</p>

    {% endif %}

    #实参action设置为登录页面的URL

    <form method="post" action="{% url 'users:login' %}">

        {% csrf_token %}

        #显示这个菜单

        {{ form.as_p}}

        <button type="submit">Log in</button>

        #隐藏表单元素next,成功后返回到主页

        <input type="hidden" name="next" value="{% url 'learning_logs:index' %}" />

    </form>

{% endblock content %}


2.链接到登录页面

base.html

    #验证用户是否登录

    <a href="{% url 'learning_logs:topics' %}">Topics</a> -

    {% if user.is_authenticated %}

        Hello,{{ user.username }}.

    {% else %}

        #如果未登录,显示登录链接

        <a href="{% url 'user:login' %}">Log in</a>

    {% endif %}


3.使用登录页面

bug太多,跳过

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容