📜  ev. DJANGO CREATE ACC (1)

📅  最后修改于: 2023-12-03 15:14:54.747000             🧑  作者: Mango

创建DJANGO账号

如果你正在使用Django进行Web开发,那么创建一个账号来授权用户登录是一项必不可少的任务。在本文中,我们将介绍如何使用Django的内置身份验证系统来创建用户账号。

步骤
步骤1:创建Django项目

首先,我们需要创建一个Django项目。如果您已经拥有Django项目,请跳过这一步。

# 在终端中输入以下命令(不含引号)
mkdir myproject
cd myproject
django-admin startproject myproject .
步骤2:创建Django应用

在创建了Django项目后,我们需要创建一个Django应用来处理用户登录。下面的命令将创建一个名为“accounts”的Django应用。

# 在终端中输入以下命令(不含引号)
python manage.py startapp accounts
步骤3:配置Django

在创建了Django应用后,我们需要在settings.py中配置Django以包含我们的应用程序。

# settings.py
INSTALLED_APPS = [
    ...

    # 添加应用到Django项目中
    'accounts',
]

AUTH_USER_MODEL = 'accounts.User'
步骤4:创建用户模型

使用Django内置的用户模型,我们需要将其扩展以包含额外的字段。

# models.py
from django.contrib.auth.models import AbstractUser
from django.db import models

class User(AbstractUser):
    phone_number = models.CharField(max_length=15)

请注意,我们添加了一个名为“phone_number”的字段来保存用户的电话号码。

步骤5:设置Django视图和模板

为了允许用户注册新账号,我们需要创建一个注册视图和一个对应的模板。

# views.py
from django.contrib.auth import authenticate, login
from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import render, redirect

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)

        if form.is_valid():
            user = form.save()

            # 将用户注册到Django系统中
            login(request, user)

            return redirect('home')

    else:
        form = UserCreationForm()

    return render(request, 'registration/register.html', {'form': form})

在模板文件夹中,我们需要创建一个名为“registration”的文件夹,其中包含一个名为“register.html”的模板。

<!-- register.html -->
{% extends 'base.html' %}

{% block content %}
    <h2>Register</h2>

    <form method="post" action="{% url 'register' %}">
        {% csrf_token %}
        {{ form.as_p }}

        <button type="submit">Register</button>
    </form>
{% endblock %}
步骤6:设置URL

最后,我们需要将新视图添加到Django项目的URL中。

# urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('register/', views.register, name='register'),
]

现在,你已经创建了一个新的Django应用程序,该应用程序允许用户注册新账号,登录到系统中并访问受保护的页面。

结论

在本文中,我们了解了如何使用Django的内置身份验证系统来创建用户账号。我们创建了一个新的Django应用程序,拓展了用户模型以保存额外的信息,设置了Django视图和模板,并添加到了Django项目的URL中。通过这些步骤,用户可以注册新的账号,并访问受保护的页面。