Djangoでユーザーアカウントを作成する画面はどうやって作る

2024年6月23日

Djangoでユーザーアカウントを作成する画面は、通常はデフォルトで提供される django.contrib.auth.views モジュールに含まれる UserCreationForm を使用しています。これは django.contrib.auth アプリケーションに含まれており、デフォルトで提供されるビューを使用することができます。

以下は、ユーザーアカウントを作成する画面を含む基本的な設定例です。

  1. urls.py ファイル:
    python
    # tools/urls.py
    from django.urls import path
    from django.contrib.auth.views import SignUpView
    
    urlpatterns = [
        path('signup/', SignUpView.as_view(), name='signup'),
        # 他のURLパターンも追加できます
    ]
    
  2. テンプレートファイル:

    registration/signup.html という名前で、ユーザーアカウント作成画面のテンプレートを作成してください。

    html
    <!-- templates/registration/signup.html -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Sign Up</title>
    </head>
    <body>
        <h2>Sign Up</h2>
        <form method="post">
            {% csrf_token %}
            {{ form.as_p }}
            <button type="submit">Sign Up</button>
        </form>
    </body>
    </html>
    
  3. views.py ファイル:
    python
    # tools/views.py
    from django.contrib.auth.views import SignUpView
    from django.shortcuts import render
    
    class CustomSignUpView(SignUpView):
        template_name = 'registration/signup.html'
    
  4. urls.py でビューを指定:
    python
    # tools/urls.py
    from django.urls import path
    from .views import CustomSignUpView
    
    urlpatterns = [
        path('signup/', CustomSignUpView.as_view(), name='signup'),
        # 他のURLパターンも追加できます
    ]
    

これで、/tools/signup/ にアクセスすると、ユーザーアカウントを作成する画面が表示されます。アクセスするとユーザー情報を入力でき、新しいアカウントを作成できるようになります。

未分類

Posted by ぼっち