↓↓クリックして頂けると励みになります。
【17 | Bootoast】 << 【ホーム】 >> 【19 | Firebase】
「core/customer/views.py」ファイルを編集します。
記述編集 【Desktop/crowdsource/core/customer/views.py】
from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required from django.urls import reverse from core.customer import forms from django.contrib import messages from django.contrib.auth.forms import PasswordChangeForm from django.contrib.auth import update_session_auth_hash @login_required() def home(request): return redirect(reverse('customer:profile')) @login_required(login_url="/sign-in/?next=/customer/") def profile_page(request): user_form = forms.BasicUserForm(instance=request.user) customer_form = forms.BasicCustomerForm(instance=request.user.customer) password_form = PasswordChangeForm(request.user) if request.method == "POST": if request.POST.get('action') == 'update_profile': user_form = forms.BasicUserForm(request.POST, instance=request.user) customer_form = forms.BasicCustomerForm(request.POST, request.FILES, instance=request.user.customer) if user_form.is_valid() and customer_form.is_valid(): user_form.save() customer_form.save() messages.success(request, 'プロフィールが更新されました。') return redirect(reverse('customer:profile')) elif request.POST.get('action') == 'update_password': password_form = PasswordChangeForm(request.user, request.POST) if password_form.is_valid(): user = password_form.save() update_session_auth_hash(request, user) messages.success(request, 'パスワードが更新されました。') return redirect(reverse('customer:profile')) return render(request, 'customer/profile.html', { "user_form": user_form, "customer_form": customer_form, "password_form": password_form, })
「core/templates/customer/profile.html」ファイルを編集します。
記述編集 【Desktop/crowdsource/core/templates/customer/profile.html】
{% extends 'customer/base.html' %} {% load bootstrap4 %} {% block main %} <!-- 基本情報 --> <b class="text-secondary">基本情報</b><br /> <div class="card bg-white mt-2 mb-5"> <div class="card-body"> <form method="POST" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form user_form %} {% bootstrap_form customer_form %} <input type="hidden" name="action" value="update_profile"> <button type="submit" class="btn btn-danger">保存</button> </form> </div> </div> <!-- パスワード --> <b class="text-secondary">パスワード更新</b><br /> <div class="card bg-white mt-2 mb-5"> <div class="card-body"> <form method="POST" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form password_form %} <input type="hidden" name="action" value="update_password"> <button type="submit" class="btn btn-danger">保存</button> </form> </div> </div> {% endblock %}
ブラウザを確認します。
http://127.0.0.1:8000/customer/profile/
パスワードが更新できるようになりました。
↓↓クリックして頂けると励みになります。
【17 | Bootoast】 << 【ホーム】 >> 【19 | Firebase】