Ich versuche, ein Profil bearbeiten Formular bearbeiten und ich möchte die Standardeingabewerte die aktuellen Benutzerdaten sein. Zum Beispiel im Feld Benutzername wird der Standardwert der aktuelle Benutzer Benutzername. Also habe ich ein Modell Form und ich habe versucht dies:Django erkennt Benutzer nicht als Attribut in ModelForm
from __future__ import unicode_literals
from django import forms
from django.forms import ModelForm, Textarea
from django.db import models
from django.contrib.auth.models import User
class User_Edit(forms.ModelForm):
class Meta:
model = User
fields = ['username', 'email']
widgets = {
'username': Textarea(attrs={'value': model.username })
}
Aber Django sagt: Attribute: Typ Objekt ‚User‘ hat kein Attribut ‚username‘
Auch dies ist die vollständige Traceback:
Traceback (most recent call last):
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/home/sebastian/Spartan/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/sebastian/Documents/project-spartan/profiles/models.py", line 8, in <module>
class User_Edit(forms.ModelForm):
File "/home/sebastian/Documents/project-spartan/profiles/models.py", line 9, in User_Edit
class Meta:
File "/home/sebastian/Documents/project-spartan/profiles/models.py", line 13, in Meta
'username': Textarea(attrs={'value': model.username })
Attribute: Typ Objekt ‚User‘ hat kein Attribut ‚username‘
Nun, der _class_ 'User' hat kein' username' Attribut. Warum müssen Sie trotzdem einen expliziten Wert hinzufügen? Es sollte von der Modellform behandelt werden. – knbk
Was meinst du? Kannst du mir ein Beispiel geben? –