Djano VERSION = 1.8 ,我必须使用此版本
我不知道为什么无法通过表单更新User实例。
我的意思是通过更新:更改数据库和请求中的值
用户模型不是由我创建的,但是我使用django.contrib.auth.models.User
这是我的代码
app / forms.py
from django import forms
from django.contrib.auth.models import User
class ModificationForm(forms.ModelForm):
class Meta:
model = User
fields = ['email']
app / views.py
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from app.forms import ModificationForm
@login_required
def profil(request):
if request.method == "POST":
form = ModificationForm(data=request.POST, instance=request.user)
if form.is_valid():
form.save()
else:
form = ModificationForm()
return render(request, "profil.html", {'form':form})
profile.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Profil</title>
</head>
<body>
<h1>Profil</h1>
<a href='/deconnexion'> Logout </a>
<form method="post" action=".">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Enregistrer" />
</form>
</body>
</html>
答案 0 :(得分:0)
您的发布链接有误!
如果您不知道,只需将动作 empty 保留在action="."
的html中!