Ich habe ein Formular mit mehreren Feldern, die ich dem Benutzer zeigen möchte, aber verhindern, dass sie bearbeiten (sollte kein Bearbeitungsfeld sein).Deaktivieren von Feldern aus Bearbeiten in Django
Meine Form-Klasse sieht so aus und ich verwende die Felder Meta, um sie automatisch zu definieren. Ich möchte verhindern, dass Nutzer ihren Benutzernamen und ihre E-Mail-Adresse nach der Registrierung ändern.
class UserEditForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password')
Die Frage In a Django form, how do I make a field readonly (or disabled) so that it cannot be edited? bietet keine Antwort auf das, was, wenn die Felder tun automatisch mithilfe von Meta definiert sind.
Ich habe
versuchtdisabled = ('username', 'email',)
Und ein paar andere Optionen, aber nichts scheint zu funktionieren. Ich möchte verhindern, dass jemand auch das Formular ändert und es einreicht (und die Daten werden geändert), da die vorherige Frage vorgeschlagen werden kann.
[Bearbeiten]: Mit Django 1.11
Welche Version von Django verwenden Sie? Bearbeiten: Wenn Sie vor 1.9 verwenden, sollte die Antwort, die Sie verknüpft haben, gut funktionieren. – OptimusCrime
Ich benutze 1,11 neuesten – user8734958
hast du [Readonly Felder auf Formular/Modelform] (https://djangosnippets.org/snippets/1340/) Snippet? –