0
사용자가 프로필 정보를 편집 할 수있는 수정 사용자 프로필 기능을 만들려고합니다. 양식에서 submit을 클릭하면 albums/profile/edit에 keyerror password로 표시됩니다.django Keyerror password
Views.py :
from django.views import generic
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.core.urlresolvers import reverse_lazy
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User
from django.contrib.auth.forms import PasswordChangeForm
from django.views.generic import View
from albums.models import Album, Song
from .forms import Userforms, EditProfileForm
class Profile_edit(View):
form_class = EditProfileForm
template_name = 'accounts/edit_profile.html'
def get(self, request):
form = self.form_class(None)
return render(request, self.template_name, {'form': form})
def post(self, request):
form = self.form_class(request.POST)
if form.is_valid():
form.save()
return redirect('profile')
return render(request, self.template_name, {'form':form})
forms.py :
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserChangeForm
from django import forms
class EditProfileForm(UserChangeForm):
class Meta:
model = User
fields = {'email', 'first_name', 'last_name', 'password'}
urls.py
url(r'^profile/edit/$', views.Profile_edit.as_view(), name='Profile_edit'),
edit_profile.html :
{% extends 'albums/base.html' %}
{% block title %}Sign Up{% endblock %}
{% block albums_active %}active{% endblock %}
{% block body %}
<div class="container-fluid">
<div class="row">
<div class="col-sm-12 col-md-7">
<div class="panel panel-default">
<div class="panel-body">
{% extends 'albums/base.html' %}
{% block title %}Sign Up{% endblock %}
{% block albums_active %}active{% endblock %}
{% block body %}
<form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'albums/form-template.html' %}
<button type="submit" class="btn btn-success">Submit</button>
</form>
{% endblock %}
"암호"는 장고의 양식 인프라에서 예약 된 키워드 일 수 있습니까? 'views.py'가 어디에서 잘못 될지 알 수 있도록 더 많은 추적 목록을 게시 할 수 있습니까? 스크린 샷에 표시된 예외 위치는별로 도움이되지 않습니다. –
'fields = { 'email', 'first_name', 'last_name', 'password'}'이것을 중괄호로 묶어 세트로 만드는 것은 이상한 것 같습니다. 필자가 본 예제에서는 목록이나 튜플을 사용합니다. 어쩌면 그것이 문제일까요? –